SemanticBumper - A version bumper
SemanticBumper is a CLI that makes version bumping simple, even for the largest of projects.
SemanticBumper will look through files that you specify in your .bumped file, replacing all text matching the semver specification with your new version.
This project originated from an open-source-ideas issue.
Contents
Install
To install SemanticBumper, you must have Go installed on your device.
You can install SemanticBumper with the following command:
go get github.com/TheOtterlord/SemanticBumper
Update
You can update SemanticBumper by calling this command.
go get -u github.com/TheOtterlord/SemanticBumper
Keep track of new releases by watching this repository.
All new releases are tracked in the changelog.
Usage
To bump files to a new version, you must create a .bumped
file that follows the schema provided.
Open the command line and navigate to the directory of your project and associated .bumped
file.
Run SemanticBumper myfile.bumped
using your .bumped
file in place of myfile.bumped
.
Example:
SemanticBumper version.bumped
Init
Calling SemanticBumper init
will create a version.bumped
file in the current directory.
Bumped Schema
The .bumped
files follow a simple schema.
At the top, the version
field specifies what the new version is.
version: 0.1.1
After that, a bumps
field can be used to specify all files to be bumped.
bumps:
These files are written on a new line with a -
prefix. The files must be relative to the .bumped
files directory.
bumps:
- README.md
Example:
version: 1.2.3
bumps:
- README.md
- main.example
- lib.example
If you are maintaining an application and library within the smae project and they don't share the same version number, that's ok.
SemanticBumper supports multiple version bumping groups.
Example:
version: 1.1.0
bumps:
- README.md
- main.example
version: 1.0.1
- lib/mod.example
TIP: You can also add comments using a //
prefix.
// bump file for my-project
// bump my app
version: 1.1.0
bumps:
- README.md
- main.example
// bump my library
version: 1.0.1
- lib/mod.example
Contributing
This project is open-source and accepts contributions from the community.
If you wish to contribute, please read our contributing guide to get started.
License
This software is distributed under the MIT license.