mirror of
https://github.com/cargo-bins/cargo-binstall.git
synced 2025-04-20 04:28:43 +00:00
Add field desired_targets
to binstall::Options
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
This commit is contained in:
parent
aa88dce215
commit
6a95bb07e0
4 changed files with 6 additions and 11 deletions
|
@ -1,6 +1,6 @@
|
|||
use std::path::PathBuf;
|
||||
|
||||
use crate::PkgOverride;
|
||||
use crate::{DesiredTargets, PkgOverride};
|
||||
|
||||
mod resolve;
|
||||
pub use resolve::*;
|
||||
|
@ -14,4 +14,5 @@ pub struct Options {
|
|||
pub version: Option<String>,
|
||||
pub manifest_path: Option<PathBuf>,
|
||||
pub cli_overrides: PkgOverride,
|
||||
pub desired_targets: DesiredTargets,
|
||||
}
|
||||
|
|
|
@ -11,7 +11,6 @@ use crate::{bins, fetchers::Fetcher, *};
|
|||
pub async fn install(
|
||||
resolution: Resolution,
|
||||
opts: Arc<Options>,
|
||||
desired_targets: DesiredTargets,
|
||||
jobserver_client: LazyJobserverClient,
|
||||
) -> Result<()> {
|
||||
match resolution {
|
||||
|
@ -32,7 +31,7 @@ pub async fn install(
|
|||
install_from_package(fetcher, opts, cvs, version, bin_path, bin_files).await
|
||||
}
|
||||
Resolution::InstallFromSource { package } => {
|
||||
let desired_targets = desired_targets.get().await;
|
||||
let desired_targets = opts.desired_targets.get().await;
|
||||
let target = desired_targets
|
||||
.first()
|
||||
.ok_or_else(|| miette!("No viable targets found, try with `--targets`"))?;
|
||||
|
|
|
@ -75,7 +75,6 @@ impl Resolution {
|
|||
pub async fn resolve(
|
||||
opts: Arc<Options>,
|
||||
crate_name: CrateName,
|
||||
desired_targets: DesiredTargets,
|
||||
temp_dir: Arc<Path>,
|
||||
install_path: Arc<Path>,
|
||||
client: Client,
|
||||
|
@ -123,7 +122,7 @@ pub async fn resolve(
|
|||
|
||||
let mut fetchers = MultiFetcher::default();
|
||||
|
||||
let desired_targets = desired_targets.get().await;
|
||||
let desired_targets = opts.desired_targets.get().await;
|
||||
|
||||
for target in desired_targets {
|
||||
debug!("Building metadata for target: {target}");
|
||||
|
|
|
@ -266,6 +266,7 @@ async fn entry(jobserver_client: LazyJobserverClient) -> Result<()> {
|
|||
version: opts.version.take(),
|
||||
manifest_path: opts.manifest_path.take(),
|
||||
cli_overrides,
|
||||
desired_targets,
|
||||
});
|
||||
|
||||
let tasks: Vec<_> = if !opts.dry_run && !opts.no_confirm {
|
||||
|
@ -276,7 +277,6 @@ async fn entry(jobserver_client: LazyJobserverClient) -> Result<()> {
|
|||
tokio::spawn(binstall::resolve(
|
||||
binstall_opts.clone(),
|
||||
crate_name,
|
||||
desired_targets.clone(),
|
||||
temp_dir_path.clone(),
|
||||
install_path.clone(),
|
||||
client.clone(),
|
||||
|
@ -300,7 +300,6 @@ async fn entry(jobserver_client: LazyJobserverClient) -> Result<()> {
|
|||
tokio::spawn(binstall::install(
|
||||
resolution,
|
||||
binstall_opts.clone(),
|
||||
desired_targets.clone(),
|
||||
jobserver_client.clone(),
|
||||
))
|
||||
})
|
||||
|
@ -312,9 +311,7 @@ async fn entry(jobserver_client: LazyJobserverClient) -> Result<()> {
|
|||
.map(|crate_name| {
|
||||
let opts = binstall_opts.clone();
|
||||
let temp_dir_path = temp_dir_path.clone();
|
||||
let desired_target = desired_targets.clone();
|
||||
let jobserver_client = jobserver_client.clone();
|
||||
let desired_targets = desired_targets.clone();
|
||||
let client = client.clone();
|
||||
let crates_io_api_client = crates_io_api_client.clone();
|
||||
let install_path = install_path.clone();
|
||||
|
@ -323,7 +320,6 @@ async fn entry(jobserver_client: LazyJobserverClient) -> Result<()> {
|
|||
let resolution = binstall::resolve(
|
||||
opts.clone(),
|
||||
crate_name,
|
||||
desired_targets.clone(),
|
||||
temp_dir_path,
|
||||
install_path,
|
||||
client,
|
||||
|
@ -331,7 +327,7 @@ async fn entry(jobserver_client: LazyJobserverClient) -> Result<()> {
|
|||
)
|
||||
.await?;
|
||||
|
||||
binstall::install(resolution, opts, desired_target, jobserver_client).await
|
||||
binstall::install(resolution, opts, jobserver_client).await
|
||||
})
|
||||
})
|
||||
.collect()
|
||||
|
|
Loading…
Add table
Reference in a new issue