diff --git a/features/scaffold-package-readme.feature b/features/scaffold-package-readme.feature index 69ac739..93953ad 100644 --- a/features/scaffold-package-readme.feature +++ b/features/scaffold-package-readme.feature @@ -56,6 +56,33 @@ Feature: Scaffold a README.md file for an existing package Success: Uninstalled package. """ + Scenario: Scaffold a README.md based with custom repository branch + Given an empty directory + + When I run `wp package path` + Then save STDOUT as {PACKAGE_PATH} + + When I run `wp scaffold package wp-cli/custom-branch` + Then STDOUT should contain: + """ + Success: Created package readme. + """ + # `wp scaffold package-readme --force` returns a warning + And I try `wp scaffold package-readme {PACKAGE_PATH}/local/wp-cli/custom-branch --branch=custom --force` + And the {PACKAGE_PATH}/local/wp-cli/custom-branch/README.md file should exist + And the {PACKAGE_PATH}/local/wp-cli/custom-branch/README.md file should contain: + """ + Installing this package requires WP-CLI v2.5 or greater. Update to the latest stable release with `wp cli update`. + """ + And the {PACKAGE_PATH}/local/wp-cli/custom-branch/README.md file should contain: + """ + [![Build Status](https://travis-ci.org/wp-cli/custom-branch.svg?branch=custom) + """ + And the {PACKAGE_PATH}/local/wp-cli/custom-branch/README.md file should contain: + """ + *This README.md is generated dynamically from the project's codebase + """ + Scenario: Scaffold a README.md requiring a nightly build Given an empty directory diff --git a/src/ScaffoldPackageCommand.php b/src/ScaffoldPackageCommand.php index b626bfb..68398da 100644 --- a/src/ScaffoldPackageCommand.php +++ b/src/ScaffoldPackageCommand.php @@ -216,6 +216,9 @@ public function package( $args, $assoc_args ) { * [--force] * : Overwrite the readme if it already exists. * + * [--branch=] + * : Name of default branch of the underlaying repository. Defaults to master. + * * @when before_wp_load * @subcommand package-readme */ @@ -230,7 +233,8 @@ public function package_readme( $args, $assoc_args ) { WP_CLI::error( 'Invalid composer.json in package directory.' ); } - $force = Utils\get_flag_value( $assoc_args, 'force' ); + $force = Utils\get_flag_value( $assoc_args, 'force' ); + $branch = Utils\get_flag_value( $assoc_args, 'branch', 'master' ); $package_root = dirname( dirname( __FILE__ ) ); $template_path = $package_root . '/templates/'; @@ -256,10 +260,10 @@ public function package_readme( $args, $assoc_args ) { $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)"; } if ( file_exists( $package_dir . '/.travis.yml' ) ) { - $shields[] = "[![Build Status](https://travis-ci.org/{$readme_args['package_name']}.svg?branch=master)](https://travis-ci.org/{$readme_args['package_name']})"; + $shields[] = "[![Build Status](https://travis-ci.org/{$readme_args['package_name']}.svg?branch={$branch})](https://travis-ci.org/{$readme_args['package_name']})"; } if ( file_exists( $package_dir . '/circle.yml' ) ) { - $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)"; + $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})"; } if ( count( $shields ) ) {