pub struct PackageConfig {
pub path: String,
pub version_files: Vec<String>,
pub version_files_strict: bool,
pub stage_files: Vec<String>,
pub artifacts: Vec<String>,
pub changelog: Option<ChangelogConfig>,
pub publish: Option<PublishConfig>,
}Expand description
A releasable package — version files, artifacts, build/publish targets.
All packages share one global release tag (git.tag_prefix + semver) and
one version line. Each package’s version_files are bumped to that same
global version on every release; packages[] controls where to write
versions and how to publish, not how to version.
sr does not run user shell commands. Artifact builds happen in CI
between sr prepare and sr release; sr uploads whatever paths in
artifacts point to at tag time.
Fields§
§path: StringDirectory path relative to repo root. Used for organizing changelog sections and as the working directory for typed publishers.
version_files: Vec<String>Manifest files to bump with the global release version. Literal paths only — no glob expansion.
version_files_strict: boolFail on unsupported version file formats.
stage_files: Vec<String>Additional files to stage in the release commit. Literal paths only.
artifacts: Vec<String>Artifact files to upload as release assets. Literal paths only — every entry must exist on disk before the tag is created.
changelog: Option<ChangelogConfig>Changelog config override for this package.
publish: Option<PublishConfig>Per-package publish target (invoked during sr release).
Trait Implementations§
Source§impl Clone for PackageConfig
impl Clone for PackageConfig
Source§fn clone(&self) -> PackageConfig
fn clone(&self) -> PackageConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more