33namespace WP_CLI ;
44
55use WP_CLI ;
6- use WP_CLI \Process ;
76use WP_CLI \Utils ;
87
98class ScaffoldPackageCommand {
@@ -72,11 +71,11 @@ class ScaffoldPackageCommand {
7271 */
7372 public function package ( $ args , $ assoc_args ) {
7473
75- $ defaults = array (
74+ $ defaults = [
7675 'dir ' => '' ,
7776 'description ' => '' ,
7877 'homepage ' => '' ,
79- ) ;
78+ ] ;
8079 $ assoc_args = array_merge ( $ defaults , $ assoc_args );
8180 $ assoc_args ['name ' ] = $ args [0 ];
8281
@@ -91,8 +90,11 @@ public function package( $args, $assoc_args ) {
9190 $ package_dir = WP_CLI ::get_runner ()->get_packages_dir_path () . 'local/ ' . $ assoc_args ['name ' ];
9291 }
9392
94- if ( '~/ ' === substr ( $ package_dir , 0 , 2 ) && ( $ home = getenv ( 'HOME ' ) ) ) {
95- $ package_dir = $ home . substr ( $ package_dir , 1 );
93+ if ( '~/ ' === substr ( $ package_dir , 0 , 2 ) ) {
94+ $ home = getenv ( 'HOME ' );
95+ if ( $ home ) {
96+ $ package_dir = $ home . substr ( $ package_dir , 1 );
97+ }
9698 }
9799
98100 if ( empty ( $ assoc_args ['homepage ' ] ) ) {
@@ -109,7 +111,7 @@ public function package( $args, $assoc_args ) {
109111EOT ;
110112
111113 $ files_written = $ this ->create_files (
112- array (
114+ [
113115 "{$ package_dir }/.gitignore " => file_get_contents ( "{$ package_root }/.gitignore " ),
114116 "{$ package_dir }/.editorconfig " => file_get_contents ( "{$ package_root }/.editorconfig " ),
115117 "{$ package_dir }/.distignore " => file_get_contents ( "{$ package_root }/.distignore " ),
@@ -118,7 +120,7 @@ public function package( $args, $assoc_args ) {
118120 "{$ package_dir }/hello-world-command.php " => Utils \mustache_render ( "{$ template_path }/hello-world-command.mustache " , $ assoc_args ),
119121 "{$ package_dir }/src/HelloWorldCommand.php " => Utils \mustache_render ( "{$ template_path }/HelloWorldCommand.mustache " , $ assoc_args ),
120122 "{$ package_dir }/composer.json " => Utils \mustache_render ( "{$ template_path }/composer.mustache " , $ assoc_args ),
121- ) ,
123+ ] ,
122124 $ force
123125 );
124126
@@ -234,22 +236,22 @@ public function package_readme( $args, $assoc_args ) {
234236 $ template_path = $ package_root . '/templates/ ' ;
235237
236238 $ bits = explode ( '/ ' , $ composer_obj ['name ' ] );
237- $ readme_args = array (
239+ $ readme_args = [
238240 'package_name ' => $ composer_obj ['name ' ],
239241 'package_short_name ' => $ bits [1 ],
240242 'package_name_border ' => str_pad ( '' , strlen ( $ composer_obj ['name ' ] ), '= ' ),
241243 'package_description ' => isset ( $ composer_obj ['description ' ] ) ? $ composer_obj ['description ' ] : '' ,
242- 'required_wp_cli_version ' => ! empty ( $ composer_obj ['require ' ]['wp-cli/wp-cli ' ] ) ? str_replace ( array ( '~ ' , '^ ' , '>= ' ) , 'v ' , $ composer_obj ['require ' ]['wp-cli/wp-cli ' ] ) : 'v1.3.0 ' ,
244+ 'required_wp_cli_version ' => ! empty ( $ composer_obj ['require ' ]['wp-cli/wp-cli ' ] ) ? str_replace ( [ '~ ' , '^ ' , '>= ' ] , 'v ' , $ composer_obj ['require ' ]['wp-cli/wp-cli ' ] ) : 'v1.3.0 ' ,
243245 'shields ' => '' ,
244246 'has_commands ' => false ,
245247 'wp_cli_update_to_instructions ' => 'the latest stable release with `wp cli update` ' ,
246248 'show_powered_by ' => isset ( $ composer_obj ['extra ' ]['readme ' ]['show_powered_by ' ] ) ? (bool ) $ composer_obj ['extra ' ]['readme ' ]['show_powered_by ' ] : true ,
247- ) ;
249+ ] ;
248250
249251 if ( isset ( $ composer_obj ['extra ' ]['readme ' ]['shields ' ] ) ) {
250252 $ readme_args ['shields ' ] = implode ( ' ' , $ composer_obj ['extra ' ]['readme ' ]['shields ' ] );
251253 } else {
252- $ shields = array () ;
254+ $ shields = [] ;
253255 if ( file_exists ( $ package_dir . '/.travis.yml ' ) ) {
254256 $ shields [] = "[](https://travis-ci.org/ {$ readme_args ['package_name ' ]}) " ;
255257 }
@@ -272,14 +274,14 @@ public function package_readme( $args, $assoc_args ) {
272274 }
273275
274276 if ( ! empty ( $ composer_obj ['extra ' ]['commands ' ] ) ) {
275- $ readme_args ['commands ' ] = array () ;
277+ $ readme_args ['commands ' ] = [] ;
276278 $ cmd_dump = WP_CLI ::runcommand (
277279 'cli cmd-dump ' ,
278- array (
280+ [
279281 'launch ' => false ,
280282 'return ' => true ,
281283 'parse ' => 'json ' ,
282- )
284+ ]
283285 );
284286 foreach ( $ composer_obj ['extra ' ]['commands ' ] as $ command ) {
285287 $ bits = explode ( ' ' , $ command );
@@ -311,39 +313,39 @@ public function package_readme( $args, $assoc_args ) {
311313 $ longdesc = preg_replace ( '/##\s(.+)/ ' , '**$1** ' , $ longdesc );
312314
313315 // definition lists
314- $ longdesc = preg_replace_callback ( '/([^\n]+)\n: (.+?)(\n\n|$)/s ' , array ( __CLASS__ , 'rewrap_param_desc ' ) , $ longdesc );
316+ $ longdesc = preg_replace_callback ( '/([^\n]+)\n: (.+?)(\n\n|$)/s ' , [ __CLASS__ , 'rewrap_param_desc ' ] , $ longdesc );
315317
316- $ readme_args ['commands ' ][] = array (
318+ $ readme_args ['commands ' ][] = [
317319 'name ' => "wp {$ command }" ,
318320 'shortdesc ' => isset ( $ parent_command ['description ' ] ) ? $ parent_command ['description ' ] : '' ,
319321 'synopsis ' => "wp {$ command }" . ( empty ( $ parent_command ['subcommands ' ] ) ? ( isset ( $ parent_command ['synopsis ' ] ) ? " {$ parent_command ['synopsis ' ]}" : '' ) : '' ),
320322 'longdesc ' => $ longdesc ,
321- ) ;
323+ ] ;
322324 }
323325 $ readme_args ['has_commands ' ] = true ;
324- $ readme_args ['has_multiple_commands ' ] = count ( $ readme_args ['commands ' ] ) > 1 ? true : false ;
326+ $ readme_args ['has_multiple_commands ' ] = count ( $ readme_args ['commands ' ] ) > 1 ;
325327 }
326328
327329 if ( isset ( $ composer_obj ['extra ' ]['readme ' ]['sections ' ] ) ) {
328330 $ readme_section_headings = $ composer_obj ['extra ' ]['readme ' ]['sections ' ];
329331 } else {
330- $ readme_section_headings = array (
332+ $ readme_section_headings = [
331333 'Using ' ,
332334 'Installing ' ,
333335 'Contributing ' ,
334336 'Support ' ,
335- ) ;
337+ ] ;
336338 }
337339
338- $ readme_sections = array () ;
340+ $ readme_sections = [] ;
339341 foreach ( $ readme_section_headings as $ section_heading ) {
340342 $ key = strtolower ( preg_replace ( '#[^\da-z-_]#i ' , '' , $ section_heading ) );
341- $ readme_sections [ $ key ] = array (
343+ $ readme_sections [ $ key ] = [
342344 'heading ' => $ section_heading ,
343- ) ;
345+ ] ;
344346 }
345347 $ bundled = ! empty ( $ composer_obj ['extra ' ]['bundled ' ] );
346- foreach ( array ( 'using ' , 'installing ' , 'contributing ' , 'support ' ) as $ key ) {
348+ foreach ( [ 'using ' , 'installing ' , 'contributing ' , 'support ' ] as $ key ) {
347349 if ( isset ( $ readme_sections [ $ key ] ) ) {
348350 $ file = dirname ( dirname ( __FILE__ ) ) . '/templates/readme- ' . $ key . '.mustache ' ;
349351 if ( $ bundled
@@ -354,9 +356,9 @@ public function package_readme( $args, $assoc_args ) {
354356 }
355357 }
356358
357- $ readme_sections ['package_description ' ] = array (
359+ $ readme_sections ['package_description ' ] = [
358360 'body ' => isset ( $ composer_obj ['description ' ] ) ? $ composer_obj ['description ' ] : '' ,
359- ) ;
361+ ] ;
360362
361363 $ readme_args ['quick_links ' ] = '' ;
362364 foreach ( $ readme_sections as $ key => $ section ) {
@@ -368,15 +370,15 @@ public function package_readme( $args, $assoc_args ) {
368370 $ readme_args ['quick_links ' ] = 'Quick links: ' . rtrim ( $ readme_args ['quick_links ' ], '| ' );
369371 }
370372
371- $ readme_args ['sections ' ] = array () ;
373+ $ readme_args ['sections ' ] = [] ;
372374 $ ext_regex = '#\.(md|mustache)$#i ' ;
373375 foreach ( $ readme_sections as $ section => $ section_args ) {
374- $ value = array () ;
375- foreach ( array ( 'pre ' , 'body ' , 'post ' ) as $ k ) {
376+ $ value = [] ;
377+ foreach ( [ 'pre ' , 'body ' , 'post ' ] as $ k ) {
376378 $ v = '' ;
377379 if ( isset ( $ composer_obj ['extra ' ]['readme ' ][ $ section ][ $ k ] ) ) {
378380 $ v = $ composer_obj ['extra ' ]['readme ' ][ $ section ][ $ k ];
379- if ( false !== stripos ( $ v , ':// ' ) ) {
381+ if ( false !== strpos ( $ v , ':// ' ) ) {
380382 $ response = Utils \http_request ( 'GET ' , $ v );
381383 $ v = $ response ->body ;
382384 } elseif ( preg_match ( $ ext_regex , $ v ) ) {
@@ -396,17 +398,17 @@ public function package_readme( $args, $assoc_args ) {
396398 if ( 'package_description ' === $ section ) {
397399 $ readme_args ['package_description ' ] = $ value ;
398400 } else {
399- $ readme_args ['sections ' ][] = array (
401+ $ readme_args ['sections ' ][] = [
400402 'heading ' => $ section_args ['heading ' ],
401403 'body ' => $ value ,
402- ) ;
404+ ] ;
403405 }
404406 }
405407
406408 $ files_written = $ this ->create_files (
407- array (
409+ [
408410 "{$ package_dir }/README.md " => Utils \mustache_render ( "{$ template_path }/readme.mustache " , $ readme_args ),
409- ) ,
411+ ] ,
410412 $ force
411413 );
412414
@@ -453,66 +455,66 @@ public function package_github( $args, $assoc_args ) {
453455 $ template_path = dirname ( dirname ( __FILE__ ) ) . '/templates ' ;
454456
455457 $ composer_obj = json_decode ( file_get_contents ( $ package_dir . '/composer.json ' ), true );
456- $ settings_vars = array (
458+ $ settings_vars = [
457459 'has_description ' => false ,
458460 'description ' => '' ,
459461 'has_labels ' => true ,
460- 'labels ' => array (
461- array (
462+ 'labels ' => [
463+ [
462464 'name ' => 'bug ' ,
463465 'color ' => 'fc2929 ' ,
464- ) ,
465- array (
466+ ] ,
467+ [
466468 'name ' => 'scope:documentation ' ,
467469 'color ' => '0e8a16 ' ,
468- ) ,
469- array (
470+ ] ,
471+ [
470472 'name ' => 'scope:testing ' ,
471473 'color ' => '5319e7 ' ,
472- ) ,
473- array (
474+ ] ,
475+ [
474476 'name ' => 'good-first-issue ' ,
475477 'color ' => 'eb6420 ' ,
476- ) ,
477- array (
478+ ] ,
479+ [
478480 'name ' => 'help-wanted ' ,
479481 'color ' => '159818 ' ,
480- ) ,
481- array (
482+ ] ,
483+ [
482484 'name ' => 'maybelater ' ,
483485 'color ' => 'c2e0c6 ' ,
484- ) ,
485- array (
486+ ] ,
487+ [
486488 'name ' => 'state:unconfirmed ' ,
487489 'color ' => 'bfe5bf ' ,
488- ) ,
489- array (
490+ ] ,
491+ [
490492 'name ' => 'state:unsupported ' ,
491493 'color ' => 'bfe5bf ' ,
492- ) ,
493- array (
494+ ] ,
495+ [
494496 'name ' => 'wontfix ' ,
495497 'color ' => 'c2e0c6 ' ,
496- ) ,
497- ) ,
498- ) ;
498+ ] ,
499+ ] ,
500+ ] ;
499501 if ( ! empty ( $ composer_obj ['description ' ] ) ) {
500502 $ settings_vars ['description ' ] = $ composer_obj ['description ' ];
501503 $ settings_vars ['has_description ' ] = true ;
502504 }
503505 if ( ! empty ( $ composer_obj ['extra ' ]['commands ' ] ) ) {
504506 foreach ( $ composer_obj ['extra ' ]['commands ' ] as $ cmd ) {
505- $ settings_vars ['labels ' ][] = array (
507+ $ settings_vars ['labels ' ][] = [
506508 'name ' => 'command: ' . str_replace ( ' ' , '- ' , $ cmd ),
507509 'color ' => 'c5def5 ' ,
508- ) ;
510+ ] ;
509511 }
510512 }
511- $ create_files = array (
513+ $ create_files = [
512514 "{$ package_dir }/.github/ISSUE_TEMPLATE " => Utils \mustache_render ( "{$ template_path }/github-issue-template.mustache " ),
513515 "{$ package_dir }/.github/PULL_REQUEST_TEMPLATE " => Utils \mustache_render ( "{$ template_path }/github-pull-request-template.mustache " ),
514516 "{$ package_dir }/.github/settings.yml " => Utils \mustache_render ( "{$ template_path }/github-settings.mustache " , $ settings_vars ),
515- ) ;
517+ ] ;
516518 $ files_written = $ this ->create_files ( $ create_files , $ force );
517519 if ( empty ( $ files_written ) ) {
518520 WP_CLI ::log ( 'Package GitHub configuration generation skipped. ' );
@@ -648,8 +650,9 @@ public function package_tests( $args, $assoc_args ) {
648650 $ copy_source [ $ package_root ]['templates/load-wp-cli.feature ' ] = $ features_dir ;
649651 }
650652
651- $ travis_tags = array ( 'cache ' , 'env ' , 'matrix ' , 'before_install ' , 'install ' , 'before_script ' , 'script ' );
652- $ travis_tag_overwrites = $ travis_tag_appends = array ();
653+ $ travis_tags = [ 'cache ' , 'env ' , 'matrix ' , 'before_install ' , 'install ' , 'before_script ' , 'script ' ];
654+ $ travis_tag_overwrites = [];
655+ $ travis_tag_appends = [];
653656 $ travis_append = '' ;
654657 if ( 'travis ' === $ assoc_args ['ci ' ] ) {
655658 $ copy_source [ $ package_root ]['.travis.yml ' ] = $ package_dir ;
@@ -671,7 +674,7 @@ public function package_tests( $args, $assoc_args ) {
671674 $ copy_source [ $ package_root ]['circle.yml ' ] = $ package_dir ;
672675 }
673676
674- $ files_written = array () ;
677+ $ files_written = [] ;
675678 foreach ( $ copy_source as $ source => $ to_copy ) {
676679 foreach ( $ to_copy as $ file => $ dir ) {
677680 if ( 'php/WP_CLI/ProcessRun.php ' === $ file && ! file_exists ( $ source . "/ {$ file }" ) ) {
@@ -691,7 +694,7 @@ public function package_tests( $args, $assoc_args ) {
691694 }
692695 }
693696 if ( $ travis_append ) {
694- $ contents = $ contents . $ travis_append ;
697+ $ contents .= $ travis_append ;
695698 }
696699 }
697700
@@ -702,7 +705,7 @@ public function package_tests( $args, $assoc_args ) {
702705 }
703706 $ files_written [] = $ file_path ;
704707
705- $ result = Process::create ( Utils \esc_cmd ( 'touch %s ' , $ file_path ) )->run ();
708+ Process::create ( Utils \esc_cmd ( 'touch %s ' , $ file_path ) )->run ();
706709 file_put_contents ( $ file_path , $ contents );
707710 }
708711 }
@@ -725,7 +728,7 @@ private static function indent( $whitespace, $text ) {
725728 foreach ( $ lines as &$ line ) {
726729 $ line = $ whitespace . $ line ;
727730 }
728- return implode ( $ lines , "\n" );
731+ return implode ( "\n" , $ lines );
729732 }
730733
731734 private function prompt_if_files_will_be_overwritten ( $ filename , $ force ) {
@@ -743,7 +746,7 @@ private function prompt_if_files_will_be_overwritten( $filename, $force ) {
743746 $ default = false ,
744747 $ marker = '[s/r]: '
745748 );
746- } while ( ! in_array ( $ answer , array ( 's ' , 'r ' ) ) );
749+ } while ( ! in_array ( $ answer , [ 's ' , 'r ' ], true ) );
747750 $ should_write_file = 'r ' === $ answer ;
748751 }
749752
@@ -754,7 +757,7 @@ private function prompt_if_files_will_be_overwritten( $filename, $force ) {
754757 }
755758
756759 private function create_files ( $ files_and_contents , $ force ) {
757- $ wrote_files = array () ;
760+ $ wrote_files = [] ;
758761
759762 foreach ( $ files_and_contents as $ filename => $ contents ) {
760763 $ should_write_file = $ this ->prompt_if_files_will_be_overwritten ( $ filename , $ force );
0 commit comments