From 7dda7c996d7912ab8dce835338acd53cb5f90842 Mon Sep 17 00:00:00 2001 From: J Robert Ray Date: Mon, 26 Feb 2024 14:32:47 -0800 Subject: [PATCH] Improve ergonomics of export_package Signed-off-by: J Robert Ray --- crates/spk-build/src/archive_test.rs | 2 +- crates/spk-cli/group3/src/cmd_export.rs | 4 ++-- crates/spk-cli/group3/src/cmd_export_test.rs | 2 +- crates/spk-cli/group3/src/cmd_import_test.rs | 2 +- crates/spk-storage/src/storage/archive.rs | 4 +--- 5 files changed, 6 insertions(+), 8 deletions(-) diff --git a/crates/spk-build/src/archive_test.rs b/crates/spk-build/src/archive_test.rs index f25eea653a..eeb45d9ab2 100644 --- a/crates/spk-build/src/archive_test.rs +++ b/crates/spk-build/src/archive_test.rs @@ -28,7 +28,7 @@ async fn test_archive_create_parents() { .await .unwrap(); let filename = rt.tmpdir.path().join("deep/nested/path/archive.spk"); - export_package::<_, _, NormalizedTagStrategy>(&spec.ident().to_any(), filename) + export_package::(&spec.ident().to_any(), filename) .await .expect("export should create dirs as needed"); } diff --git a/crates/spk-cli/group3/src/cmd_export.rs b/crates/spk-cli/group3/src/cmd_export.rs index 3c0601d3ef..18ab9b0269 100644 --- a/crates/spk-cli/group3/src/cmd_export.rs +++ b/crates/spk-cli/group3/src/cmd_export.rs @@ -76,9 +76,9 @@ impl Run for Export { // TODO: this doesn't take the repos as an argument, but probably // should. It assumes/uses 'local' and 'origin' repos internally. let res = if self.legacy_spk_version_tags_for_writes { - storage::export_package::<_, _, VerbatimTagStrategy>(&pkg, &filename).await + storage::export_package::(&pkg, &filename).await } else { - storage::export_package::<_, _, NormalizedTagStrategy>(&pkg, &filename).await + storage::export_package::(&pkg, &filename).await }; if let Err(spk_storage::Error::PackageNotFound(_)) = res { tracing::warn!("Ensure that you are specifying at least a package and"); diff --git a/crates/spk-cli/group3/src/cmd_export_test.rs b/crates/spk-cli/group3/src/cmd_export_test.rs index bcc6d8cc40..667853d268 100644 --- a/crates/spk-cli/group3/src/cmd_export_test.rs +++ b/crates/spk-cli/group3/src/cmd_export_test.rs @@ -71,7 +71,7 @@ async fn test_export_works_with_missing_builds() { let filename = rt.tmpdir.path().join("archive.spk"); filename.ensure(); - spk_storage::export_package::<_, _, NormalizedTagStrategy>( + spk_storage::export_package::( red_spec.ident().clone().to_version().to_any(None), &filename, ) diff --git a/crates/spk-cli/group3/src/cmd_import_test.rs b/crates/spk-cli/group3/src/cmd_import_test.rs index 38936be47a..abb605c5ab 100644 --- a/crates/spk-cli/group3/src/cmd_import_test.rs +++ b/crates/spk-cli/group3/src/cmd_import_test.rs @@ -30,7 +30,7 @@ async fn test_archive_io() { let filename = rt.tmpdir.path().join("archive.spk"); filename.ensure(); - spk_storage::export_package::<_, _, NormalizedTagStrategy>(spec.ident().to_any(), &filename) + spk_storage::export_package::(spec.ident().to_any(), &filename) .await .expect("failed to export"); let mut actual = Vec::new(); diff --git a/crates/spk-storage/src/storage/archive.rs b/crates/spk-storage/src/storage/archive.rs index 2955bc99b6..35c093d601 100644 --- a/crates/spk-storage/src/storage/archive.rs +++ b/crates/spk-storage/src/storage/archive.rs @@ -11,10 +11,8 @@ use spk_schema::{AnyIdent, BuildIdent, VersionIdent}; use super::{Repository, SpfsRepository}; use crate::{Error, NameAndRepositoryWithTagStrategy, Result}; -pub async fn export_package(pkg: I, filename: P) -> Result<()> +pub async fn export_package(pkg: impl AsRef, filename: impl AsRef) -> Result<()> where - I: AsRef, - P: AsRef, S: TagPathStrategy + Send + Sync, { let pkg = pkg.as_ref();