mirror of
https://github.com/cargo-bins/cargo-binstall.git
synced 2025-05-04 19:20:03 +00:00
Refactor cargo-binstall
(#1302)
- Move implementation of `main` into the library part of `cargo-binstall` to speedup codegen. - Move `manifests.rs` into `binstalk-manifests` Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
This commit is contained in:
parent
4e73d0095f
commit
43973d7e86
8 changed files with 120 additions and 103 deletions
|
@ -1,68 +1,11 @@
|
|||
use std::time::Instant;
|
||||
use std::process::Termination;
|
||||
|
||||
use binstalk::{helpers::jobserver_client::LazyJobserverClient, TARGET};
|
||||
use log::LevelFilter;
|
||||
use tracing::debug;
|
||||
|
||||
use cargo_binstall::{
|
||||
args,
|
||||
bin_util::{run_tokio_main, MainExit},
|
||||
entry,
|
||||
logging::logging,
|
||||
};
|
||||
use cargo_binstall::do_main;
|
||||
|
||||
#[cfg(feature = "mimalloc")]
|
||||
#[global_allocator]
|
||||
static GLOBAL: mimalloc::MiMalloc = mimalloc::MiMalloc;
|
||||
|
||||
fn main() -> MainExit {
|
||||
// This must be the very first thing to happen
|
||||
let jobserver_client = LazyJobserverClient::new();
|
||||
|
||||
let args = args::parse();
|
||||
|
||||
if args.version {
|
||||
let cargo_binstall_version = env!("CARGO_PKG_VERSION");
|
||||
if args.verbose {
|
||||
let build_date = env!("VERGEN_BUILD_DATE");
|
||||
|
||||
let features = env!("VERGEN_CARGO_FEATURES");
|
||||
|
||||
let git_sha = option_env!("VERGEN_GIT_SHA").unwrap_or("UNKNOWN");
|
||||
let git_commit_date = option_env!("VERGEN_GIT_COMMIT_DATE").unwrap_or("UNKNOWN");
|
||||
|
||||
let rustc_semver = env!("VERGEN_RUSTC_SEMVER");
|
||||
let rustc_commit_hash = env!("VERGEN_RUSTC_COMMIT_HASH");
|
||||
let rustc_llvm_version = env!("VERGEN_RUSTC_LLVM_VERSION");
|
||||
|
||||
println!(
|
||||
r#"cargo-binstall: {cargo_binstall_version}
|
||||
build-date: {build_date}
|
||||
build-target: {TARGET}
|
||||
build-features: {features}
|
||||
build-commit-hash: {git_sha}
|
||||
build-commit-date: {git_commit_date}
|
||||
rustc-version: {rustc_semver}
|
||||
rustc-commit-hash: {rustc_commit_hash}
|
||||
rustc-llvm-version: {rustc_llvm_version}"#
|
||||
);
|
||||
} else {
|
||||
println!("{cargo_binstall_version}");
|
||||
}
|
||||
MainExit::Success(None)
|
||||
} else {
|
||||
logging(
|
||||
args.log_level.unwrap_or(LevelFilter::Info),
|
||||
args.json_output,
|
||||
);
|
||||
|
||||
let start = Instant::now();
|
||||
|
||||
let result = run_tokio_main(|| entry::install_crates(args, jobserver_client));
|
||||
|
||||
let done = start.elapsed();
|
||||
debug!("run time: {done:?}");
|
||||
|
||||
MainExit::new(result, done)
|
||||
}
|
||||
fn main() -> impl Termination {
|
||||
do_main()
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue