1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
<?php
declare( strict_types=1 );
namespace Automattic\WooCommerce\Internal\CLI\Migrator;
use Automattic\WooCommerce\Internal\CLI\Migrator\Commands\ProductsCommand; use Automattic\WooCommerce\Internal\CLI\Migrator\Commands\ResetCommand; use Automattic\WooCommerce\Internal\CLI\Migrator\Commands\SetupCommand; use Automattic\WooCommerce\Internal\CLI\Migrator\Commands\ListCommand; use Automattic\WooCommerce\Internal\CLI\Migrator\Platforms\Shopify\ShopifyPlatform; use WP_CLI; use WC_Product_Factory;
/** * The main runner for the migrator. */ final class Runner {
/** * Register the commands for the migrator. * * @return void */ public static function register_commands(): void { // Initialize built-in platforms. self::init_platforms();
$container = wc_get_container();
WP_CLI::add_command( 'wc migrate products', $container->get( ProductsCommand::class ), array( 'shortdesc' => 'Migrate products from a source platform to WooCommerce.', 'longdesc' => 'Migrate products from a source platform to WooCommerce. The migrator will fetch products from the source platform, map them to the WooCommerce product schema, and then import them into WooCommerce.', ) );
WP_CLI::add_command( 'wc migrate reset', $container->get( ResetCommand::class ), array( 'shortdesc' => 'Resets (deletes) the credentials for a given platform.', ) );
WP_CLI::add_command( 'wc migrate setup', $container->get( SetupCommand::class ), array( 'shortdesc' => 'Interactively sets up the credentials for a given platform.', ) );
WP_CLI::add_command( 'wc migrate list', $container->get( ListCommand::class ), array( 'shortdesc' => 'Lists all registered migration platforms.', ) ); }
/** * Initialize built-in migration platforms. * * @return void */ private static function init_platforms(): void { ShopifyPlatform::init(); } }
|