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.0
Command 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.