Specification for foundry release tools
This is intended to serve as documentation for consistency between foundry release tool.
This documentation is for version:
2.0.0
A foundry release tool is a CLI that exposes the following commands.
It is expected that foundry will run commands in the order:
- update-files
- commit
- register
- publish
For convenience, we have written a framework called foundry-release-base. This will alleviate the majority of the CLI integration.
https://github.com/twolfson/foundry-release-base
Semver string for the current version of foundry-release-spec it is supporting. This can be determined by looking at this repo's latest git tag.
https://github.com/twolfson/foundry-release-spec/tags
$ # Example
$ foundry-release-my-plugin --spec-version
2.0.0Command that adjusts the package contents (e.g. bump version in package.json, add to CHANGELOG).
- version
String- Semantic version to adjust the package to- Semantic version documentation can be found at http://semver.org/
- message
String- Short description about release (comparable togit commit's -m)
stdin, stdout, and stderr will be piped to users when foundry is running. Please include any user-specific information there.
To denote failures, please exit with a non-zero exit code.
$ # Example
$ foundry-release-my-plugin updates-files "1.0.0" "Release 1.0.0"Command that commits any updates to the package's version control (e.g. git commit).
version, message and stdio are the same format as in update-files.
$ # Example
$ foundry-release-my-plugin commit "1.0.0" "Release 1.0.0"Command that registers package with its registry (e.g. bower register, python setup.py register).
version, message and stdio are the same format as in update-files.
$ # Example
$ foundry-release-my-plugin register "1.0.0" "Release 1.0.0"Command that publishes package to its registry (e.g. npm publish).
version, message and stdio are the same format as in update-files.
$ # Example
$ foundry-release-my-plugin publish "1.0.0" "Release 1.0.0"In lieu of a formal styleguide, take care to maintain the existing coding style.
Support this project and others by twolfson via donations.
http://twolfson.com/support-me
As of Feb 01 2014, Todd Wolfson has released this repository and its contents to the public domain.
It has been released under the UNLICENSE.