Factor out a function for building a NewCrate.

Co-Authored-By: Tor Hovland <55164+torhovland@users.noreply.github.com>
This commit is contained in:
Joe Neeman 2024-06-13 15:10:50 -05:00
parent 7f2079838a
commit 8771230eb8

View File

@ -321,14 +321,11 @@ fn verify_dependencies(
Ok(()) Ok(())
} }
fn transmit( pub(crate) fn prepare_transmit(
gctx: &GlobalContext, gctx: &GlobalContext,
pkg: &Package, pkg: &Package,
tarball: &File,
registry: &mut Registry,
registry_id: SourceId, registry_id: SourceId,
dry_run: bool, ) -> CargoResult<NewCrate> {
) -> CargoResult<()> {
let deps = pkg let deps = pkg
.dependencies() .dependencies()
.iter() .iter()
@ -410,12 +407,6 @@ fn transmit(
} }
} }
// Do not upload if performing a dry run
if dry_run {
gctx.shell().warn("aborting upload due to dry run")?;
return Ok(());
}
let deps_set = deps let deps_set = deps
.iter() .iter()
.map(|dep| dep.name.clone()) .map(|dep| dep.name.clone())
@ -447,9 +438,7 @@ fn transmit(
None => BTreeMap::new(), None => BTreeMap::new(),
}; };
let warnings = registry Ok(NewCrate {
.publish(
&NewCrate {
name: pkg.name().to_string(), name: pkg.name().to_string(),
vers: pkg.version().to_string(), vers: pkg.version().to_string(),
deps, deps,
@ -468,9 +457,27 @@ fn transmit(
badges: badges.clone(), badges: badges.clone(),
links: links.clone(), links: links.clone(),
rust_version, rust_version,
}, })
tarball, }
)
fn transmit(
gctx: &GlobalContext,
pkg: &Package,
tarball: &File,
registry: &mut Registry,
registry_id: SourceId,
dry_run: bool,
) -> CargoResult<()> {
let new_crate = prepare_transmit(gctx, pkg, registry_id)?;
// Do not upload if performing a dry run
if dry_run {
gctx.shell().warn("aborting upload due to dry run")?;
return Ok(());
}
let warnings = registry
.publish(&new_crate, tarball)
.with_context(|| format!("failed to publish to registry at {}", registry.host()))?; .with_context(|| format!("failed to publish to registry at {}", registry.host()))?;
if !warnings.invalid_categories.is_empty() { if !warnings.invalid_categories.is_empty() {