Skip to content

Latest commit

 

History

History
130 lines (111 loc) · 3.79 KB

MIGRATING_v8_to_v9.md

File metadata and controls

130 lines (111 loc) · 3.79 KB

If you weren't using the git features

  1. Change the vergen build dependency to the latest version.
[dependencies]
#..
[build-dependencies]
# All features enabled
vergen = { version = "9.0.0", features = ["build", "cargo", "rustc", "si"] }
# or
vergen = { version = "9.0.0", features = ["build"] }
# if you wish to disable certain features
  1. Update build.rs to use the version 9 updates.
use anyhow::Result;
use vergen::{
    BuildBuilder, CargoBuilder, Emitter, RustcBuilder, SysinfoBuilder,
};

pub fn main() -> Result<()> {
    Emitter::default()
        .add_instructions(&BuildBuilder::all_build()?)?
        .add_instructions(&CargoBuilder::all_cargo()?)?
        .add_instructions(&RustcBuilder::all_rustc()?)?
        .add_instructions(&SysinfoBuilder::all_sysinfo()?)?
        .emit()
}

If you were using the gix feature

  1. Change the vergen build dependency to vergen-gix in Cargo.toml. Remove git and gix from your feature list.
[dependencies]
#..
[build-dependencies]
# All features enabled
vergen-gix = { version = "1.0.0", features = ["build", "cargo", "rustc", "si"] }
# or
vergen-gix = { version = "1.0.0", features = ["build"] }
# if you wish to disable certain features
  1. Update build.rs to use the version 9 updates, replacing your vergen use with vergen-gix.
use anyhow::Result;
use vergen_gix::{
    BuildBuilder, CargoBuilder, Emitter, GixBuilder, RustcBuilder, SysinfoBuilder,
};

pub fn main() -> Result<()> {
    Emitter::default()
        .add_instructions(&BuildBuilder::all_build()?)?
        .add_instructions(&CargoBuilder::all_cargo()?)?
        .add_instructions(&GixBuilder::all_git()?)?
        .add_instructions(&RustcBuilder::all_rustc()?)?
        .add_instructions(&SysinfoBuilder::all_sysinfo()?)?
        .emit()
}

If you were using the gitcl feature

  1. Change the vergen build dependency to vergen-gitcl in Cargo.toml. Remove git and gitcl from your feature list.
[dependencies]
#..
[build-dependencies]
# All features enabled
vergen-gitcl = { version = "1.0.0", features = ["build", "cargo", "rustc", "si"] }
# or
vergen-gitcl = { version = "1.0.0", features = ["build"] }
# if you wish to disable certain features
  1. Update build.rs to use the version 9 updates, replacing your vergen use with vergen-gitcl.
use anyhow::Result;
use vergen_gitcl::{
    BuildBuilder, CargoBuilder, Emitter, GitclBuilder, RustcBuilder, SysinfoBuilder,
};

pub fn main() -> Result<()> {
    Emitter::default()
        .add_instructions(&BuildBuilder::all_build()?)?
        .add_instructions(&CargoBuilder::all_cargo()?)?
        .add_instructions(&GitclBuilder::all_git()?)?
        .add_instructions(&RustcBuilder::all_rustc()?)?
        .add_instructions(&SysinfoBuilder::all_sysinfo()?)?
        .emit()
}

If you were using the git2 feature

  1. Change the vergen build dependency to vergen-git2 in Cargo.toml. Remove git and git2 from your feature list.
[dependencies]
#..
[build-dependencies]
# All features enabled
vergen-git2 = { version = "1.0.0", features = ["build", "cargo", "rustc", "si"] }
# or
vergen-git2 = { version = "1.0.0", features = ["build"] }
# if you wish to disable certain features
  1. Update build.rs to use the version 9 updates, replacing your vergen use with vergen-git2.
use anyhow::Result;
use vergen_git2::{
    BuildBuilder, CargoBuilder, Emitter, Git2Builder, RustcBuilder, SysinfoBuilder,
};

pub fn main() -> Result<()> {
    Emitter::default()
        .add_instructions(&BuildBuilder::all_build()?)?
        .add_instructions(&CargoBuilder::all_cargo()?)?
        .add_instructions(&Git2Builder::all_git()?)?
        .add_instructions(&RustcBuilder::all_rustc()?)?
        .add_instructions(&SysinfoBuilder::all_sysinfo()?)?
        .emit()
}