3
3
namespace WP_CLI ;
4
4
5
5
use WP_CLI ;
6
- use WP_CLI \Process ;
7
6
use WP_CLI \Utils ;
8
7
9
8
class ScaffoldPackageCommand {
@@ -72,11 +71,11 @@ class ScaffoldPackageCommand {
72
71
*/
73
72
public function package ( $ args , $ assoc_args ) {
74
73
75
- $ defaults = array (
74
+ $ defaults = [
76
75
'dir ' => '' ,
77
76
'description ' => '' ,
78
77
'homepage ' => '' ,
79
- ) ;
78
+ ] ;
80
79
$ assoc_args = array_merge ( $ defaults , $ assoc_args );
81
80
$ assoc_args ['name ' ] = $ args [0 ];
82
81
@@ -91,8 +90,11 @@ public function package( $args, $assoc_args ) {
91
90
$ package_dir = WP_CLI ::get_runner ()->get_packages_dir_path () . 'local/ ' . $ assoc_args ['name ' ];
92
91
}
93
92
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
+ }
96
98
}
97
99
98
100
if ( empty ( $ assoc_args ['homepage ' ] ) ) {
@@ -109,7 +111,7 @@ public function package( $args, $assoc_args ) {
109
111
EOT ;
110
112
111
113
$ files_written = $ this ->create_files (
112
- array (
114
+ [
113
115
"{$ package_dir }/.gitignore " => file_get_contents ( "{$ package_root }/.gitignore " ),
114
116
"{$ package_dir }/.editorconfig " => file_get_contents ( "{$ package_root }/.editorconfig " ),
115
117
"{$ package_dir }/.distignore " => file_get_contents ( "{$ package_root }/.distignore " ),
@@ -118,7 +120,7 @@ public function package( $args, $assoc_args ) {
118
120
"{$ package_dir }/hello-world-command.php " => Utils \mustache_render ( "{$ template_path }/hello-world-command.mustache " , $ assoc_args ),
119
121
"{$ package_dir }/src/HelloWorldCommand.php " => Utils \mustache_render ( "{$ template_path }/HelloWorldCommand.mustache " , $ assoc_args ),
120
122
"{$ package_dir }/composer.json " => Utils \mustache_render ( "{$ template_path }/composer.mustache " , $ assoc_args ),
121
- ) ,
123
+ ] ,
122
124
$ force
123
125
);
124
126
@@ -234,22 +236,22 @@ public function package_readme( $args, $assoc_args ) {
234
236
$ template_path = $ package_root . '/templates/ ' ;
235
237
236
238
$ bits = explode ( '/ ' , $ composer_obj ['name ' ] );
237
- $ readme_args = array (
239
+ $ readme_args = [
238
240
'package_name ' => $ composer_obj ['name ' ],
239
241
'package_short_name ' => $ bits [1 ],
240
242
'package_name_border ' => str_pad ( '' , strlen ( $ composer_obj ['name ' ] ), '= ' ),
241
243
'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 ' ,
243
245
'shields ' => '' ,
244
246
'has_commands ' => false ,
245
247
'wp_cli_update_to_instructions ' => 'the latest stable release with `wp cli update` ' ,
246
248
'show_powered_by ' => isset ( $ composer_obj ['extra ' ]['readme ' ]['show_powered_by ' ] ) ? (bool ) $ composer_obj ['extra ' ]['readme ' ]['show_powered_by ' ] : true ,
247
- ) ;
249
+ ] ;
248
250
249
251
if ( isset ( $ composer_obj ['extra ' ]['readme ' ]['shields ' ] ) ) {
250
252
$ readme_args ['shields ' ] = implode ( ' ' , $ composer_obj ['extra ' ]['readme ' ]['shields ' ] );
251
253
} else {
252
- $ shields = array () ;
254
+ $ shields = [] ;
253
255
if ( file_exists ( $ package_dir . '/.travis.yml ' ) ) {
254
256
$ shields [] = "[](https://travis-ci.org/ {$ readme_args ['package_name ' ]}) " ;
255
257
}
@@ -272,14 +274,14 @@ public function package_readme( $args, $assoc_args ) {
272
274
}
273
275
274
276
if ( ! empty ( $ composer_obj ['extra ' ]['commands ' ] ) ) {
275
- $ readme_args ['commands ' ] = array () ;
277
+ $ readme_args ['commands ' ] = [] ;
276
278
$ cmd_dump = WP_CLI ::runcommand (
277
279
'cli cmd-dump ' ,
278
- array (
280
+ [
279
281
'launch ' => false ,
280
282
'return ' => true ,
281
283
'parse ' => 'json ' ,
282
- )
284
+ ]
283
285
);
284
286
foreach ( $ composer_obj ['extra ' ]['commands ' ] as $ command ) {
285
287
$ bits = explode ( ' ' , $ command );
@@ -311,39 +313,39 @@ public function package_readme( $args, $assoc_args ) {
311
313
$ longdesc = preg_replace ( '/##\s(.+)/ ' , '**$1** ' , $ longdesc );
312
314
313
315
// 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 );
315
317
316
- $ readme_args ['commands ' ][] = array (
318
+ $ readme_args ['commands ' ][] = [
317
319
'name ' => "wp {$ command }" ,
318
320
'shortdesc ' => isset ( $ parent_command ['description ' ] ) ? $ parent_command ['description ' ] : '' ,
319
321
'synopsis ' => "wp {$ command }" . ( empty ( $ parent_command ['subcommands ' ] ) ? ( isset ( $ parent_command ['synopsis ' ] ) ? " {$ parent_command ['synopsis ' ]}" : '' ) : '' ),
320
322
'longdesc ' => $ longdesc ,
321
- ) ;
323
+ ] ;
322
324
}
323
325
$ 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 ;
325
327
}
326
328
327
329
if ( isset ( $ composer_obj ['extra ' ]['readme ' ]['sections ' ] ) ) {
328
330
$ readme_section_headings = $ composer_obj ['extra ' ]['readme ' ]['sections ' ];
329
331
} else {
330
- $ readme_section_headings = array (
332
+ $ readme_section_headings = [
331
333
'Using ' ,
332
334
'Installing ' ,
333
335
'Contributing ' ,
334
336
'Support ' ,
335
- ) ;
337
+ ] ;
336
338
}
337
339
338
- $ readme_sections = array () ;
340
+ $ readme_sections = [] ;
339
341
foreach ( $ readme_section_headings as $ section_heading ) {
340
342
$ key = strtolower ( preg_replace ( '#[^\da-z-_]#i ' , '' , $ section_heading ) );
341
- $ readme_sections [ $ key ] = array (
343
+ $ readme_sections [ $ key ] = [
342
344
'heading ' => $ section_heading ,
343
- ) ;
345
+ ] ;
344
346
}
345
347
$ bundled = ! empty ( $ composer_obj ['extra ' ]['bundled ' ] );
346
- foreach ( array ( 'using ' , 'installing ' , 'contributing ' , 'support ' ) as $ key ) {
348
+ foreach ( [ 'using ' , 'installing ' , 'contributing ' , 'support ' ] as $ key ) {
347
349
if ( isset ( $ readme_sections [ $ key ] ) ) {
348
350
$ file = dirname ( dirname ( __FILE__ ) ) . '/templates/readme- ' . $ key . '.mustache ' ;
349
351
if ( $ bundled
@@ -354,9 +356,9 @@ public function package_readme( $args, $assoc_args ) {
354
356
}
355
357
}
356
358
357
- $ readme_sections ['package_description ' ] = array (
359
+ $ readme_sections ['package_description ' ] = [
358
360
'body ' => isset ( $ composer_obj ['description ' ] ) ? $ composer_obj ['description ' ] : '' ,
359
- ) ;
361
+ ] ;
360
362
361
363
$ readme_args ['quick_links ' ] = '' ;
362
364
foreach ( $ readme_sections as $ key => $ section ) {
@@ -368,15 +370,15 @@ public function package_readme( $args, $assoc_args ) {
368
370
$ readme_args ['quick_links ' ] = 'Quick links: ' . rtrim ( $ readme_args ['quick_links ' ], '| ' );
369
371
}
370
372
371
- $ readme_args ['sections ' ] = array () ;
373
+ $ readme_args ['sections ' ] = [] ;
372
374
$ ext_regex = '#\.(md|mustache)$#i ' ;
373
375
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 ) {
376
378
$ v = '' ;
377
379
if ( isset ( $ composer_obj ['extra ' ]['readme ' ][ $ section ][ $ k ] ) ) {
378
380
$ v = $ composer_obj ['extra ' ]['readme ' ][ $ section ][ $ k ];
379
- if ( false !== stripos ( $ v , ':// ' ) ) {
381
+ if ( false !== strpos ( $ v , ':// ' ) ) {
380
382
$ response = Utils \http_request ( 'GET ' , $ v );
381
383
$ v = $ response ->body ;
382
384
} elseif ( preg_match ( $ ext_regex , $ v ) ) {
@@ -396,17 +398,17 @@ public function package_readme( $args, $assoc_args ) {
396
398
if ( 'package_description ' === $ section ) {
397
399
$ readme_args ['package_description ' ] = $ value ;
398
400
} else {
399
- $ readme_args ['sections ' ][] = array (
401
+ $ readme_args ['sections ' ][] = [
400
402
'heading ' => $ section_args ['heading ' ],
401
403
'body ' => $ value ,
402
- ) ;
404
+ ] ;
403
405
}
404
406
}
405
407
406
408
$ files_written = $ this ->create_files (
407
- array (
409
+ [
408
410
"{$ package_dir }/README.md " => Utils \mustache_render ( "{$ template_path }/readme.mustache " , $ readme_args ),
409
- ) ,
411
+ ] ,
410
412
$ force
411
413
);
412
414
@@ -453,66 +455,66 @@ public function package_github( $args, $assoc_args ) {
453
455
$ template_path = dirname ( dirname ( __FILE__ ) ) . '/templates ' ;
454
456
455
457
$ composer_obj = json_decode ( file_get_contents ( $ package_dir . '/composer.json ' ), true );
456
- $ settings_vars = array (
458
+ $ settings_vars = [
457
459
'has_description ' => false ,
458
460
'description ' => '' ,
459
461
'has_labels ' => true ,
460
- 'labels ' => array (
461
- array (
462
+ 'labels ' => [
463
+ [
462
464
'name ' => 'bug ' ,
463
465
'color ' => 'fc2929 ' ,
464
- ) ,
465
- array (
466
+ ] ,
467
+ [
466
468
'name ' => 'scope:documentation ' ,
467
469
'color ' => '0e8a16 ' ,
468
- ) ,
469
- array (
470
+ ] ,
471
+ [
470
472
'name ' => 'scope:testing ' ,
471
473
'color ' => '5319e7 ' ,
472
- ) ,
473
- array (
474
+ ] ,
475
+ [
474
476
'name ' => 'good-first-issue ' ,
475
477
'color ' => 'eb6420 ' ,
476
- ) ,
477
- array (
478
+ ] ,
479
+ [
478
480
'name ' => 'help-wanted ' ,
479
481
'color ' => '159818 ' ,
480
- ) ,
481
- array (
482
+ ] ,
483
+ [
482
484
'name ' => 'maybelater ' ,
483
485
'color ' => 'c2e0c6 ' ,
484
- ) ,
485
- array (
486
+ ] ,
487
+ [
486
488
'name ' => 'state:unconfirmed ' ,
487
489
'color ' => 'bfe5bf ' ,
488
- ) ,
489
- array (
490
+ ] ,
491
+ [
490
492
'name ' => 'state:unsupported ' ,
491
493
'color ' => 'bfe5bf ' ,
492
- ) ,
493
- array (
494
+ ] ,
495
+ [
494
496
'name ' => 'wontfix ' ,
495
497
'color ' => 'c2e0c6 ' ,
496
- ) ,
497
- ) ,
498
- ) ;
498
+ ] ,
499
+ ] ,
500
+ ] ;
499
501
if ( ! empty ( $ composer_obj ['description ' ] ) ) {
500
502
$ settings_vars ['description ' ] = $ composer_obj ['description ' ];
501
503
$ settings_vars ['has_description ' ] = true ;
502
504
}
503
505
if ( ! empty ( $ composer_obj ['extra ' ]['commands ' ] ) ) {
504
506
foreach ( $ composer_obj ['extra ' ]['commands ' ] as $ cmd ) {
505
- $ settings_vars ['labels ' ][] = array (
507
+ $ settings_vars ['labels ' ][] = [
506
508
'name ' => 'command: ' . str_replace ( ' ' , '- ' , $ cmd ),
507
509
'color ' => 'c5def5 ' ,
508
- ) ;
510
+ ] ;
509
511
}
510
512
}
511
- $ create_files = array (
513
+ $ create_files = [
512
514
"{$ package_dir }/.github/ISSUE_TEMPLATE " => Utils \mustache_render ( "{$ template_path }/github-issue-template.mustache " ),
513
515
"{$ package_dir }/.github/PULL_REQUEST_TEMPLATE " => Utils \mustache_render ( "{$ template_path }/github-pull-request-template.mustache " ),
514
516
"{$ package_dir }/.github/settings.yml " => Utils \mustache_render ( "{$ template_path }/github-settings.mustache " , $ settings_vars ),
515
- ) ;
517
+ ] ;
516
518
$ files_written = $ this ->create_files ( $ create_files , $ force );
517
519
if ( empty ( $ files_written ) ) {
518
520
WP_CLI ::log ( 'Package GitHub configuration generation skipped. ' );
@@ -648,8 +650,9 @@ public function package_tests( $args, $assoc_args ) {
648
650
$ copy_source [ $ package_root ]['templates/load-wp-cli.feature ' ] = $ features_dir ;
649
651
}
650
652
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 = [];
653
656
$ travis_append = '' ;
654
657
if ( 'travis ' === $ assoc_args ['ci ' ] ) {
655
658
$ copy_source [ $ package_root ]['.travis.yml ' ] = $ package_dir ;
@@ -671,7 +674,7 @@ public function package_tests( $args, $assoc_args ) {
671
674
$ copy_source [ $ package_root ]['circle.yml ' ] = $ package_dir ;
672
675
}
673
676
674
- $ files_written = array () ;
677
+ $ files_written = [] ;
675
678
foreach ( $ copy_source as $ source => $ to_copy ) {
676
679
foreach ( $ to_copy as $ file => $ dir ) {
677
680
if ( 'php/WP_CLI/ProcessRun.php ' === $ file && ! file_exists ( $ source . "/ {$ file }" ) ) {
@@ -691,7 +694,7 @@ public function package_tests( $args, $assoc_args ) {
691
694
}
692
695
}
693
696
if ( $ travis_append ) {
694
- $ contents = $ contents . $ travis_append ;
697
+ $ contents .= $ travis_append ;
695
698
}
696
699
}
697
700
@@ -702,7 +705,7 @@ public function package_tests( $args, $assoc_args ) {
702
705
}
703
706
$ files_written [] = $ file_path ;
704
707
705
- $ result = Process::create ( Utils \esc_cmd ( 'touch %s ' , $ file_path ) )->run ();
708
+ Process::create ( Utils \esc_cmd ( 'touch %s ' , $ file_path ) )->run ();
706
709
file_put_contents ( $ file_path , $ contents );
707
710
}
708
711
}
@@ -725,7 +728,7 @@ private static function indent( $whitespace, $text ) {
725
728
foreach ( $ lines as &$ line ) {
726
729
$ line = $ whitespace . $ line ;
727
730
}
728
- return implode ( $ lines , "\n" );
731
+ return implode ( "\n" , $ lines );
729
732
}
730
733
731
734
private function prompt_if_files_will_be_overwritten ( $ filename , $ force ) {
@@ -743,7 +746,7 @@ private function prompt_if_files_will_be_overwritten( $filename, $force ) {
743
746
$ default = false ,
744
747
$ marker = '[s/r]: '
745
748
);
746
- } while ( ! in_array ( $ answer , array ( 's ' , 'r ' ) ) );
749
+ } while ( ! in_array ( $ answer , [ 's ' , 'r ' ], true ) );
747
750
$ should_write_file = 'r ' === $ answer ;
748
751
}
749
752
@@ -754,7 +757,7 @@ private function prompt_if_files_will_be_overwritten( $filename, $force ) {
754
757
}
755
758
756
759
private function create_files ( $ files_and_contents , $ force ) {
757
- $ wrote_files = array () ;
760
+ $ wrote_files = [] ;
758
761
759
762
foreach ( $ files_and_contents as $ filename => $ contents ) {
760
763
$ should_write_file = $ this ->prompt_if_files_will_be_overwritten ( $ filename , $ force );
0 commit comments