Expand description
§Bumpversion
A library for bumping version numbers in projects based on configuration files and version control metadata.
§Examples
use bumpversion::{
BumpVersion,
Bump,
diagnostics::Printer,
vcs::{TagAndRevision, VersionControlSystem, git::GitRepository},
logging,
config,
};
use std::path::PathBuf;
// Locate and parse the configuration
let repo_path: PathBuf = ".".into();
let printer = Printer::stderr(None);
// find and parse configuration
let (config_file, mut config) = bumpversion::find_config(
&repo_path,
&Default::default(),
&printer,
).await?.unwrap();
// open version control system
let repo = GitRepository::open(&repo_path)?;
let components = config::version::version_component_configs(&config);
// build resolved file map
let file_map = bumpversion::files::resolve_files_from_config(
&mut config,
&components,
Some(repo.path()),
)?;
let TagAndRevision { tag, revision } = repo.latest_tag_and_revision(
&config.global.tag_name,
&config.global.parse_version_pattern,
)
.await?;
let logger = logging::TracingLogger::new(logging::Verbosity::High);
let manager = BumpVersion {
repo,
config,
logger,
tag_and_revision: TagAndRevision { tag, revision },
file_map,
components,
config_file: Some(config_file),
};
manager.bump(Bump::Component("patch")).await?;
Modules§
- command
- Utilities for running and checking external commands.
- config
- Configuration parsing and merging.
- context
- Helpers for constructing template contexts used in version serialization and tags. Context construction for template rendering of version strings and tags.
- diagnostics
- Diagnostics utilities for reporting and emitting parsing errors with source spans.
- f_
string - Parsing support for Python-style format strings used in version templates.
- files
- File operations for searching and replacing version strings in project files.
- hooks
- Hook execution for setup, pre-commit, and post-commit scripts.
- logging
- Logging utilities for formatting version and change output based on verbosity.
- vcs
- Version control integration layer.
- version
Structs§
- Bump
Version - Manager for performing version bumps in a repository.
Enums§
- Bump
- Specifies which version bump to perform.
- Bump
Error - Errors that can occur when performing a version bump.
Functions§
- apply_
modifications - find_
config - Find config file in one of the default config file locations.