Cross-language tool written in Python to automatically version projects using SemVer
- install
auto_version
pipenv install pyautoversion
- run
auto_version --config=desired/config/path
desired/config/path
: path to a configuration file in toml format. If the file does not exist, it will be created with defaults.
- adjust the configuration as necessary. in particular, set
targets
to a list of files in your project that contain variables for the tool to update.- fields under
key_aliases
map from your project toauto_version
; values on the left are the variable names exactly as they appear in your project files.
- fields under
- run
auto_version --config=desired/config/path
to have the tool print out the currently detected version. You may need to readjust the config. - run
auto_version --config=desired/config/path --bump=patch -vv
to try an initial version increment, and view details on the updates the tool has applied. Check your target files, and if they are as you'd expect then you're good to go.
For more details about how to use the tool, have a look at the usage page
usage: auto_version [-h] [--target TARGET] [--bump {major,minor,patch}]
[--news] [--set SET] [--set-patch-count] [--lock]
[--release] [--version] [--config CONFIG] [-v]
auto version: a tool to control version numbers
optional arguments:
-h, --help show this help message and exit
--target TARGET Files containing version info. Assumes unique variable
names between files. (default: ['src\\_version.py']).
--bump {major,minor,patch}
Bumps the specified part of SemVer string. Use this
locally to correctly modify the version file.
--news, --file-triggers
Detects need to bump based on presence of files (as
specified in config).
--set SET Set the SemVer string. Use this locally to set the
project version explicitly.
--set-patch-count Sets the patch number to the commit count.
--lock Locks the SemVer string. Lock will remain for another
call to autoversion before being cleared.
--release Marks as a release build, which flags the build as
released.
--version Prints the version of auto_version itself (self-
version).
--config CONFIG Configuration file path.
-v, --verbosity increase output verbosity. can be specified multiple
times