@@ -72,12 +72,12 @@ class ScaffoldPackageCommand {
72
72
*/
73
73
public function package ( $ args , $ assoc_args ) {
74
74
75
- $ defaults = array (
75
+ $ defaults = array (
76
76
'dir ' => '' ,
77
77
'description ' => '' ,
78
- 'homepage ' => '' ,
78
+ 'homepage ' => '' ,
79
79
);
80
- $ assoc_args = array_merge ( $ defaults , $ assoc_args );
80
+ $ assoc_args = array_merge ( $ defaults , $ assoc_args );
81
81
$ assoc_args ['name ' ] = $ args [0 ];
82
82
83
83
$ bits = explode ( '/ ' , $ assoc_args ['name ' ] );
@@ -101,23 +101,26 @@ public function package( $args, $assoc_args ) {
101
101
102
102
$ force = Utils \get_flag_value ( $ assoc_args , 'force ' );
103
103
104
- $ package_root = dirname ( dirname ( __FILE__ ) );
104
+ $ package_root = dirname ( dirname ( __FILE__ ) );
105
105
$ template_path = $ package_root . '/templates/ ' ;
106
- $ wp_cli_yml = <<<EOT
106
+ $ wp_cli_yml = <<<EOT
107
107
require:
108
108
- hello-world-command.php
109
109
EOT ;
110
110
111
- $ files_written = $ this ->create_files ( array (
112
- "{$ package_dir }/.gitignore " => file_get_contents ( "{$ package_root }/.gitignore " ),
113
- "{$ package_dir }/.editorconfig " => file_get_contents ( "{$ package_root }/.editorconfig " ),
114
- "{$ package_dir }/.distignore " => file_get_contents ( "{$ package_root }/.distignore " ),
115
- "{$ package_dir }/CONTRIBUTING.md " => file_get_contents ( "{$ package_root }/CONTRIBUTING.md " ),
116
- "{$ package_dir }/wp-cli.yml " => $ wp_cli_yml ,
117
- "{$ package_dir }/hello-world-command.php " => Utils \mustache_render ( "{$ template_path }/hello-world-command.mustache " , $ assoc_args ),
118
- "{$ package_dir }/src/HelloWorldCommand.php " => Utils \mustache_render ( "{$ template_path }/HelloWorldCommand.mustache " , $ assoc_args ),
119
- "{$ package_dir }/composer.json " => Utils \mustache_render ( "{$ template_path }/composer.mustache " , $ assoc_args ),
120
- ), $ force );
111
+ $ files_written = $ this ->create_files (
112
+ array (
113
+ "{$ package_dir }/.gitignore " => file_get_contents ( "{$ package_root }/.gitignore " ),
114
+ "{$ package_dir }/.editorconfig " => file_get_contents ( "{$ package_root }/.editorconfig " ),
115
+ "{$ package_dir }/.distignore " => file_get_contents ( "{$ package_root }/.distignore " ),
116
+ "{$ package_dir }/CONTRIBUTING.md " => file_get_contents ( "{$ package_root }/CONTRIBUTING.md " ),
117
+ "{$ package_dir }/wp-cli.yml " => $ wp_cli_yml ,
118
+ "{$ package_dir }/hello-world-command.php " => Utils \mustache_render ( "{$ template_path }/hello-world-command.mustache " , $ assoc_args ),
119
+ "{$ package_dir }/src/HelloWorldCommand.php " => Utils \mustache_render ( "{$ template_path }/HelloWorldCommand.mustache " , $ assoc_args ),
120
+ "{$ package_dir }/composer.json " => Utils \mustache_render ( "{$ template_path }/composer.mustache " , $ assoc_args ),
121
+ ),
122
+ $ force
123
+ );
121
124
122
125
if ( empty ( $ files_written ) ) {
123
126
WP_CLI ::log ( 'All package files were skipped. ' );
@@ -227,20 +230,20 @@ public function package_readme( $args, $assoc_args ) {
227
230
228
231
$ force = Utils \get_flag_value ( $ assoc_args , 'force ' );
229
232
230
- $ package_root = dirname ( dirname ( __FILE__ ) );
233
+ $ package_root = dirname ( dirname ( __FILE__ ) );
231
234
$ template_path = $ package_root . '/templates/ ' ;
232
235
233
- $ bits = explode ( '/ ' , $ composer_obj ['name ' ] );
236
+ $ bits = explode ( '/ ' , $ composer_obj ['name ' ] );
234
237
$ readme_args = array (
235
- 'package_name ' => $ composer_obj ['name ' ],
236
- 'package_short_name ' => $ bits [1 ],
237
- 'package_name_border ' => str_pad ( '' , strlen ( $ composer_obj ['name ' ] ), '= ' ),
238
- 'package_description ' => isset ( $ composer_obj ['description ' ] ) ? $ composer_obj ['description ' ] : '' ,
239
- '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 ' ,
240
- 'shields ' => '' ,
241
- 'has_commands ' => false ,
238
+ 'package_name ' => $ composer_obj ['name ' ],
239
+ 'package_short_name ' => $ bits [1 ],
240
+ 'package_name_border ' => str_pad ( '' , strlen ( $ composer_obj ['name ' ] ), '= ' ),
241
+ '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 ' ,
243
+ 'shields ' => '' ,
244
+ 'has_commands ' => false ,
242
245
'wp_cli_update_to_instructions ' => 'the latest stable release with `wp cli update` ' ,
243
- 'show_powered_by ' => isset ( $ composer_obj ['extra ' ]['readme ' ]['show_powered_by ' ] ) ? (bool ) $ composer_obj ['extra ' ]['readme ' ]['show_powered_by ' ] : true ,
246
+ 'show_powered_by ' => isset ( $ composer_obj ['extra ' ]['readme ' ]['show_powered_by ' ] ) ? (bool ) $ composer_obj ['extra ' ]['readme ' ]['show_powered_by ' ] : true ,
244
247
);
245
248
246
249
if ( isset ( $ composer_obj ['extra ' ]['readme ' ]['shields ' ] ) ) {
@@ -270,24 +273,31 @@ public function package_readme( $args, $assoc_args ) {
270
273
271
274
if ( ! empty ( $ composer_obj ['extra ' ]['commands ' ] ) ) {
272
275
$ readme_args ['commands ' ] = array ();
273
- $ cmd_dump = WP_CLI ::runcommand ( 'cli cmd-dump ' , array ( 'launch ' => false , 'return ' => true , 'parse ' => 'json ' ) );
274
- foreach ( $ composer_obj ['extra ' ]['commands ' ] as $ command ) {
275
- $ bits = explode ( ' ' , $ command );
276
+ $ cmd_dump = WP_CLI ::runcommand (
277
+ 'cli cmd-dump ' ,
278
+ array (
279
+ 'launch ' => false ,
280
+ 'return ' => true ,
281
+ 'parse ' => 'json ' ,
282
+ )
283
+ );
284
+ foreach ( $ composer_obj ['extra ' ]['commands ' ] as $ command ) {
285
+ $ bits = explode ( ' ' , $ command );
276
286
$ parent_command = $ cmd_dump ;
277
287
do {
278
288
$ cmd_bit = array_shift ( $ bits );
279
- $ found = false ;
280
- foreach ( $ parent_command ['subcommands ' ] as $ subcommand ) {
289
+ $ found = false ;
290
+ foreach ( $ parent_command ['subcommands ' ] as $ subcommand ) {
281
291
if ( $ subcommand ['name ' ] === $ cmd_bit ) {
282
292
$ parent_command = $ subcommand ;
283
- $ found = true ;
293
+ $ found = true ;
284
294
break ;
285
295
}
286
296
}
287
297
if ( ! $ found ) {
288
298
$ parent_command = false ;
289
299
}
290
- } while ( $ parent_command && $ bits );
300
+ } while ( $ parent_command && $ bits );
291
301
292
302
/* This check doesn't work because of the way the commands are fetched.
293
303
* Needs bigger refactor to put this check back in.
@@ -304,13 +314,13 @@ public function package_readme( $args, $assoc_args ) {
304
314
$ longdesc = preg_replace_callback ( '/([^\n]+)\n: (.+?)(\n\n|$)/s ' , array ( __CLASS__ , 'rewrap_param_desc ' ), $ longdesc );
305
315
306
316
$ readme_args ['commands ' ][] = array (
307
- 'name ' => "wp {$ command }" ,
317
+ 'name ' => "wp {$ command }" ,
308
318
'shortdesc ' => isset ( $ parent_command ['description ' ] ) ? $ parent_command ['description ' ] : '' ,
309
- 'synopsis ' => "wp {$ command }" . ( empty ( $ parent_command ['subcommands ' ] ) ? ( isset ( $ parent_command ['synopsis ' ] ) ? " {$ parent_command ['synopsis ' ]}" : '' ) : "" ),
310
- 'longdesc ' => $ longdesc ,
319
+ 'synopsis ' => "wp {$ command }" . ( empty ( $ parent_command ['subcommands ' ] ) ? ( isset ( $ parent_command ['synopsis ' ] ) ? " {$ parent_command ['synopsis ' ]}" : '' ) : '' ),
320
+ 'longdesc ' => $ longdesc ,
311
321
);
312
322
}
313
- $ readme_args ['has_commands ' ] = true ;
323
+ $ readme_args ['has_commands ' ] = true ;
314
324
$ readme_args ['has_multiple_commands ' ] = count ( $ readme_args ['commands ' ] ) > 1 ? true : false ;
315
325
}
316
326
@@ -326,14 +336,14 @@ public function package_readme( $args, $assoc_args ) {
326
336
}
327
337
328
338
$ readme_sections = array ();
329
- foreach ( $ readme_section_headings as $ section_heading ) {
330
- $ key = strtolower ( preg_replace ( '#[^\da-z-_]#i ' , '' , $ section_heading ) );
339
+ foreach ( $ readme_section_headings as $ section_heading ) {
340
+ $ key = strtolower ( preg_replace ( '#[^\da-z-_]#i ' , '' , $ section_heading ) );
331
341
$ readme_sections [ $ key ] = array (
332
- 'heading ' => $ section_heading ,
342
+ 'heading ' => $ section_heading ,
333
343
);
334
344
}
335
345
$ bundled = ! empty ( $ composer_obj ['extra ' ]['bundled ' ] );
336
- foreach ( array ( 'using ' , 'installing ' , 'contributing ' , 'support ' ) as $ key ) {
346
+ foreach ( array ( 'using ' , 'installing ' , 'contributing ' , 'support ' ) as $ key ) {
337
347
if ( isset ( $ readme_sections [ $ key ] ) ) {
338
348
$ file = dirname ( dirname ( __FILE__ ) ) . '/templates/readme- ' . $ key . '.mustache ' ;
339
349
if ( $ bundled
@@ -349,7 +359,7 @@ public function package_readme( $args, $assoc_args ) {
349
359
);
350
360
351
361
$ readme_args ['quick_links ' ] = '' ;
352
- foreach ( $ readme_sections as $ key => $ section ) {
362
+ foreach ( $ readme_sections as $ key => $ section ) {
353
363
if ( ! empty ( $ section ['heading ' ] ) ) {
354
364
$ readme_args ['quick_links ' ] .= '[ ' . $ section ['heading ' ] . '](# ' . $ key . ') | ' ;
355
365
}
@@ -359,20 +369,20 @@ public function package_readme( $args, $assoc_args ) {
359
369
}
360
370
361
371
$ readme_args ['sections ' ] = array ();
362
- $ ext_regex = '#\.(md|mustache)$#i ' ;
363
- foreach ( $ readme_sections as $ section => $ section_args ) {
372
+ $ ext_regex = '#\.(md|mustache)$#i ' ;
373
+ foreach ( $ readme_sections as $ section => $ section_args ) {
364
374
$ value = array ();
365
- foreach ( array ( 'pre ' , 'body ' , 'post ' ) as $ k ) {
375
+ foreach ( array ( 'pre ' , 'body ' , 'post ' ) as $ k ) {
366
376
$ v = '' ;
367
377
if ( isset ( $ composer_obj ['extra ' ]['readme ' ][ $ section ][ $ k ] ) ) {
368
- $ v = $ composer_obj ['extra ' ]['readme ' ][ $ section ][ $ k ];
378
+ $ v = $ composer_obj ['extra ' ]['readme ' ][ $ section ][ $ k ];
369
379
if ( false !== stripos ( $ v , ':// ' ) ) {
370
380
$ response = Utils \http_request ( 'GET ' , $ v );
371
- $ v = $ response ->body ;
372
- } else if ( preg_match ( $ ext_regex , $ v ) ) {
381
+ $ v = $ response ->body ;
382
+ } elseif ( preg_match ( $ ext_regex , $ v ) ) {
373
383
$ v = $ package_dir . '/ ' . $ v ;
374
384
}
375
- } else if ( isset ( $ section_args [ $ k ] ) ) {
385
+ } elseif ( isset ( $ section_args [ $ k ] ) ) {
376
386
$ v = $ section_args [ $ k ];
377
387
}
378
388
if ( $ v ) {
@@ -387,15 +397,18 @@ public function package_readme( $args, $assoc_args ) {
387
397
$ readme_args ['package_description ' ] = $ value ;
388
398
} else {
389
399
$ readme_args ['sections ' ][] = array (
390
- 'heading ' => $ section_args ['heading ' ],
391
- 'body ' => $ value ,
400
+ 'heading ' => $ section_args ['heading ' ],
401
+ 'body ' => $ value ,
392
402
);
393
403
}
394
404
}
395
405
396
- $ files_written = $ this ->create_files ( array (
397
- "{$ package_dir }/README.md " => Utils \mustache_render ( "{$ template_path }/readme.mustache " , $ readme_args ),
398
- ), $ force );
406
+ $ files_written = $ this ->create_files (
407
+ array (
408
+ "{$ package_dir }/README.md " => Utils \mustache_render ( "{$ template_path }/readme.mustache " , $ readme_args ),
409
+ ),
410
+ $ force
411
+ );
399
412
400
413
if ( empty ( $ files_written ) ) {
401
414
WP_CLI ::log ( 'Package readme generation skipped. ' );
@@ -430,61 +443,61 @@ public function package_github( $args, $assoc_args ) {
430
443
431
444
if ( is_file ( $ package_dir ) ) {
432
445
$ package_dir = dirname ( $ package_dir );
433
- } else if ( is_dir ( $ package_dir ) ) {
446
+ } elseif ( is_dir ( $ package_dir ) ) {
434
447
$ package_dir = rtrim ( $ package_dir , '/ ' );
435
448
}
436
449
437
450
self ::check_if_valid_package_dir ( $ package_dir );
438
451
439
- $ force = Utils \get_flag_value ( $ assoc_args , 'force ' );
452
+ $ force = Utils \get_flag_value ( $ assoc_args , 'force ' );
440
453
$ template_path = dirname ( dirname ( __FILE__ ) ) . '/templates ' ;
441
454
442
- $ composer_obj = json_decode ( file_get_contents ( $ package_dir . '/composer.json ' ), true );
455
+ $ composer_obj = json_decode ( file_get_contents ( $ package_dir . '/composer.json ' ), true );
443
456
$ settings_vars = array (
444
457
'has_description ' => false ,
445
458
'description ' => '' ,
446
459
'has_labels ' => true ,
447
460
'labels ' => array (
448
461
array (
449
- 'name ' => 'bug ' ,
450
- 'color ' => 'fc2929 '
462
+ 'name ' => 'bug ' ,
463
+ 'color ' => 'fc2929 ' ,
451
464
),
452
465
array (
453
- 'name ' => 'scope:documentation ' ,
454
- 'color ' => '0e8a16 '
466
+ 'name ' => 'scope:documentation ' ,
467
+ 'color ' => '0e8a16 ' ,
455
468
),
456
469
array (
457
- 'name ' => 'scope:testing ' ,
458
- 'color ' => '5319e7 '
470
+ 'name ' => 'scope:testing ' ,
471
+ 'color ' => '5319e7 ' ,
459
472
),
460
473
array (
461
- 'name ' => 'good-first-issue ' ,
462
- 'color ' => 'eb6420 ' ,
474
+ 'name ' => 'good-first-issue ' ,
475
+ 'color ' => 'eb6420 ' ,
463
476
),
464
477
array (
465
- 'name ' => 'help-wanted ' ,
466
- 'color ' => '159818 ' ,
478
+ 'name ' => 'help-wanted ' ,
479
+ 'color ' => '159818 ' ,
467
480
),
468
481
array (
469
- 'name ' => 'maybelater ' ,
470
- 'color ' => 'c2e0c6 ' ,
482
+ 'name ' => 'maybelater ' ,
483
+ 'color ' => 'c2e0c6 ' ,
471
484
),
472
485
array (
473
- 'name ' => 'state:unconfirmed ' ,
474
- 'color ' => 'bfe5bf '
486
+ 'name ' => 'state:unconfirmed ' ,
487
+ 'color ' => 'bfe5bf ' ,
475
488
),
476
489
array (
477
- 'name ' => 'state:unsupported ' ,
478
- 'color ' => 'bfe5bf '
490
+ 'name ' => 'state:unsupported ' ,
491
+ 'color ' => 'bfe5bf ' ,
479
492
),
480
493
array (
481
- 'name ' => 'wontfix ' ,
482
- 'color ' => 'c2e0c6 ' ,
494
+ 'name ' => 'wontfix ' ,
495
+ 'color ' => 'c2e0c6 ' ,
483
496
),
484
497
),
485
498
);
486
499
if ( ! empty ( $ composer_obj ['description ' ] ) ) {
487
- $ settings_vars ['description ' ] = $ composer_obj ['description ' ];
500
+ $ settings_vars ['description ' ] = $ composer_obj ['description ' ];
488
501
$ settings_vars ['has_description ' ] = true ;
489
502
}
490
503
if ( ! empty ( $ composer_obj ['extra ' ]['commands ' ] ) ) {
@@ -495,10 +508,10 @@ public function package_github( $args, $assoc_args ) {
495
508
);
496
509
}
497
510
}
498
- $ create_files = array (
499
- "{$ package_dir }/.github/ISSUE_TEMPLATE " => Utils \mustache_render ( "{$ template_path }/github-issue-template.mustache " ),
511
+ $ create_files = array (
512
+ "{$ package_dir }/.github/ISSUE_TEMPLATE " => Utils \mustache_render ( "{$ template_path }/github-issue-template.mustache " ),
500
513
"{$ package_dir }/.github/PULL_REQUEST_TEMPLATE " => Utils \mustache_render ( "{$ template_path }/github-pull-request-template.mustache " ),
501
- "{$ package_dir }/.github/settings.yml " => Utils \mustache_render ( "{$ template_path }/github-settings.mustache " , $ settings_vars ),
514
+ "{$ package_dir }/.github/settings.yml " => Utils \mustache_render ( "{$ template_path }/github-settings.mustache " , $ settings_vars ),
502
515
);
503
516
$ files_written = $ this ->create_files ( $ create_files , $ force );
504
517
if ( empty ( $ files_written ) ) {
@@ -616,14 +629,14 @@ public function package_tests( $args, $assoc_args ) {
616
629
617
630
if ( is_file ( $ package_dir ) ) {
618
631
$ package_dir = dirname ( $ package_dir );
619
- } else if ( is_dir ( $ package_dir ) ) {
632
+ } elseif ( is_dir ( $ package_dir ) ) {
620
633
$ package_dir = rtrim ( $ package_dir , '/ ' );
621
634
}
622
635
623
636
self ::check_if_valid_package_dir ( $ package_dir );
624
637
625
638
$ package_dir .= '/ ' ;
626
- $ features_dir = $ package_dir . 'features/ ' ;
639
+ $ features_dir = $ package_dir . 'features/ ' ;
627
640
if ( ! is_dir ( $ features_dir ) ) {
628
641
Process::create ( Utils \esc_cmd ( 'mkdir %s ' , $ features_dir ) )->run ();
629
642
}
@@ -635,9 +648,9 @@ public function package_tests( $args, $assoc_args ) {
635
648
$ copy_source [ $ package_root ]['templates/load-wp-cli.feature ' ] = $ features_dir ;
636
649
}
637
650
638
- $ travis_tags = array ( 'cache ' , 'env ' , 'matrix ' , 'before_install ' , 'install ' , 'before_script ' , 'script ' );
651
+ $ travis_tags = array ( 'cache ' , 'env ' , 'matrix ' , 'before_install ' , 'install ' , 'before_script ' , 'script ' );
639
652
$ travis_tag_overwrites = $ travis_tag_appends = array ();
640
- $ travis_append = '' ;
653
+ $ travis_append = '' ;
641
654
if ( 'travis ' === $ assoc_args ['ci ' ] ) {
642
655
$ copy_source [ $ package_root ]['.travis.yml ' ] = $ package_dir ;
643
656
@@ -654,13 +667,12 @@ public function package_tests( $args, $assoc_args ) {
654
667
if ( file_exists ( $ package_dir . 'travis-append.yml ' ) ) {
655
668
$ travis_append = file_get_contents ( $ package_dir . 'travis-append.yml ' );
656
669
}
657
-
658
- } else if ( 'circle ' === $ assoc_args ['ci ' ] ) {
670
+ } elseif ( 'circle ' === $ assoc_args ['ci ' ] ) {
659
671
$ copy_source [ $ package_root ]['circle.yml ' ] = $ package_dir ;
660
672
}
661
673
662
674
$ files_written = array ();
663
- foreach ( $ copy_source as $ source => $ to_copy ) {
675
+ foreach ( $ copy_source as $ source => $ to_copy ) {
664
676
foreach ( $ to_copy as $ file => $ dir ) {
665
677
if ( 'php/WP_CLI/ProcessRun.php ' === $ file && ! file_exists ( $ source . "/ {$ file }" ) ) {
666
678
continue ;
@@ -683,7 +695,7 @@ public function package_tests( $args, $assoc_args ) {
683
695
}
684
696
}
685
697
686
- $ force = Utils \get_flag_value ( $ assoc_args , 'force ' );
698
+ $ force = Utils \get_flag_value ( $ assoc_args , 'force ' );
687
699
$ should_write_file = $ this ->prompt_if_files_will_be_overwritten ( $ file_path , $ force );
688
700
if ( ! $ should_write_file ) {
689
701
continue ;
@@ -704,7 +716,7 @@ public function package_tests( $args, $assoc_args ) {
704
716
705
717
private static function rewrap_param_desc ( $ matches ) {
706
718
$ param = $ matches [1 ];
707
- $ desc = self ::indent ( "\t\t" , $ matches [2 ] );
719
+ $ desc = self ::indent ( "\t\t" , $ matches [2 ] );
708
720
return "\t$ param \n$ desc \n\n" ;
709
721
}
710
722
@@ -726,10 +738,10 @@ private function prompt_if_files_will_be_overwritten( $filename, $force ) {
726
738
WP_CLI ::log ( $ filename );
727
739
if ( ! $ force ) {
728
740
do {
729
- $ answer = \cli \prompt (
741
+ $ answer = \cli \prompt (
730
742
'Skip this file, or replace it with scaffolding? ' ,
731
743
$ default = false ,
732
- $ marker = '[s/r]: '
744
+ $ marker = '[s/r]: '
733
745
);
734
746
} while ( ! in_array ( $ answer , array ( 's ' , 'r ' ) ) );
735
747
$ should_write_file = 'r ' === $ answer ;
0 commit comments