diff --git a/README.md b/README.md index 965354a..1bef63a 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ This package implements the following commands: Generate the files needed for a basic WP-CLI command. ~~~ -wp scaffold package [--description=] [--homepage=] [--dir=] [--license=] [--require_wp_cli=] [--skip-tests] [--skip-readme] [--force] +wp scaffold package [--description=] [--homepage=] [--dir=] [--license=] [--require_wp_cli=] [--skip-tests] [--skip-readme] [--skip-install] [--force] ~~~ Default behavior is to create the following files: @@ -61,6 +61,9 @@ WP-CLI `packages/local/` directory. [--skip-readme] Don't generate a README.md for the package. + [--skip-install] + Don't install the package after scaffolding. + [--force] Overwrite files that already exist. diff --git a/features/scaffold-package.feature b/features/scaffold-package.feature index 83711ee..c043230 100644 --- a/features/scaffold-package.feature +++ b/features/scaffold-package.feature @@ -230,3 +230,16 @@ Feature: Scaffold WP-CLI commands Success: Package installed. """ And the /tmp/wp-cli-home/foo directory should exist + + Scenario: Scaffold a package but skip installation + Given an empty directory + + When I run `wp scaffold package wp-cli/foo --skip-install` + Then STDOUT should contain: + """ + Success: Created package files + """ + And STDOUT should not contain: + """ + Installing package + """ diff --git a/src/ScaffoldPackageCommand.php b/src/ScaffoldPackageCommand.php index c6e5238..cb1af09 100644 --- a/src/ScaffoldPackageCommand.php +++ b/src/ScaffoldPackageCommand.php @@ -53,6 +53,9 @@ class ScaffoldPackageCommand { * [--skip-readme] * : Don't generate a README.md for the package. * + * [--skip-install] + * : Don't install the package after scaffolding. + * * [--force] * : Overwrite files that already exist. * @@ -121,7 +124,9 @@ public function package( $args, $assoc_args ) { WP_CLI::runcommand( "scaffold package-readme {$package_dir} {$force_flag}", array( 'launch' => false ) ); } - WP_CLI::runcommand( "package install {$package_dir}", array( 'launch' => false ) ); + if ( ! Utils\get_flag_value( $assoc_args, 'skip-install' ) ) { + WP_CLI::runcommand( "package install {$package_dir}", array( 'launch' => false ) ); + } } /**