Skip to content

Commit 0a8d5d1

Browse files
wojsmolswissspidy
andauthored
Add custom branch support to wp scaffold package-readme command (#206)
Co-authored-by: Pascal Birchler <pascal.birchler@gmail.com>
1 parent e5a4b7b commit 0a8d5d1

File tree

2 files changed

+34
-3
lines changed

2 files changed

+34
-3
lines changed

features/scaffold-package-readme.feature

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,33 @@ Feature: Scaffold a README.md file for an existing package
5656
Success: Uninstalled package.
5757
"""
5858

59+
Scenario: Scaffold a README.md based with custom repository branch
60+
Given an empty directory
61+
62+
When I run `wp package path`
63+
Then save STDOUT as {PACKAGE_PATH}
64+
65+
When I run `wp scaffold package wp-cli/custom-branch`
66+
Then STDOUT should contain:
67+
"""
68+
Success: Created package readme.
69+
"""
70+
# `wp scaffold package-readme --force` returns a warning
71+
And I try `wp scaffold package-readme {PACKAGE_PATH}/local/wp-cli/custom-branch --branch=custom --force`
72+
And the {PACKAGE_PATH}/local/wp-cli/custom-branch/README.md file should exist
73+
And the {PACKAGE_PATH}/local/wp-cli/custom-branch/README.md file should contain:
74+
"""
75+
Installing this package requires WP-CLI v2.5 or greater. Update to the latest stable release with `wp cli update`.
76+
"""
77+
And the {PACKAGE_PATH}/local/wp-cli/custom-branch/README.md file should contain:
78+
"""
79+
[![Build Status](https://travis-ci.org/wp-cli/custom-branch.svg?branch=custom)
80+
"""
81+
And the {PACKAGE_PATH}/local/wp-cli/custom-branch/README.md file should contain:
82+
"""
83+
*This README.md is generated dynamically from the project's codebase
84+
"""
85+
5986
Scenario: Scaffold a README.md requiring a nightly build
6087
Given an empty directory
6188

src/ScaffoldPackageCommand.php

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,9 @@ public function package( $args, $assoc_args ) {
216216
* [--force]
217217
* : Overwrite the readme if it already exists.
218218
*
219+
* [--branch=<branch>]
220+
* : Name of default branch of the underlaying repository. Defaults to master.
221+
*
219222
* @when before_wp_load
220223
* @subcommand package-readme
221224
*/
@@ -230,7 +233,8 @@ public function package_readme( $args, $assoc_args ) {
230233
WP_CLI::error( 'Invalid composer.json in package directory.' );
231234
}
232235

233-
$force = Utils\get_flag_value( $assoc_args, 'force' );
236+
$force = Utils\get_flag_value( $assoc_args, 'force' );
237+
$branch = Utils\get_flag_value( $assoc_args, 'branch', 'master' );
234238

235239
$package_root = dirname( dirname( __FILE__ ) );
236240
$template_path = $package_root . '/templates/';
@@ -256,10 +260,10 @@ public function package_readme( $args, $assoc_args ) {
256260
$shields[] = "[![Testing](https://github.com/{$readme_args['package_name']}/actions/workflows/testing.yml/badge.svg)](https://github.com/{$readme_args['package_name']}/actions/workflows/testing.yml)";
257261
}
258262
if ( file_exists( $package_dir . '/.travis.yml' ) ) {
259-
$shields[] = "[![Build Status](https://travis-ci.org/{$readme_args['package_name']}.svg?branch=master)](https://travis-ci.org/{$readme_args['package_name']})";
263+
$shields[] = "[![Build Status](https://travis-ci.org/{$readme_args['package_name']}.svg?branch={$branch})](https://travis-ci.org/{$readme_args['package_name']})";
260264
}
261265
if ( file_exists( $package_dir . '/circle.yml' ) ) {
262-
$shields[] = "[![CircleCI](https://circleci.com/gh/{$readme_args['package_name']}/tree/master.svg?style=svg)](https://circleci.com/gh/{$readme_args['package_name']}/tree/master)";
266+
$shields[] = "[![CircleCI](https://circleci.com/gh/{$readme_args['package_name']}/tree/{$branch}.svg?style=svg)](https://circleci.com/gh/{$readme_args['package_name']}/tree/{$branch})";
263267
}
264268

265269
if ( count( $shields ) ) {

0 commit comments

Comments
 (0)