diff options
-rw-r--r-- | examples/packages/example_3/pkg.toml | 2 | ||||
-rw-r--r-- | src/commands/source.rs | 2 | ||||
-rw-r--r-- | src/package/package.rs | 2 | ||||
-rw-r--r-- | src/source/mod.rs | 6 |
4 files changed, 7 insertions, 5 deletions
diff --git a/examples/packages/example_3/pkg.toml b/examples/packages/example_3/pkg.toml index 1e3cda8..42ad00c 100644 --- a/examples/packages/example_3/pkg.toml +++ b/examples/packages/example_3/pkg.toml @@ -4,7 +4,7 @@ version_is_semver = false # no patches by default patches = [] -[[sources]] +[sources.src] url = "https://github.com/user/repo/archive/sources.tar.gz" hash.type = "sha1" hash.hash = "5e8bcaa3c758f84f01935a914e2bbf01309462ae" diff --git a/src/commands/source.rs b/src/commands/source.rs index 9c72754..bbac6b6 100644 --- a/src/commands/source.rs +++ b/src/commands/source.rs @@ -103,7 +103,7 @@ pub async fn url(matches: &ArgMatches, repo: Repository) -> Result<()> { .map(|p| { p.sources() .iter() - .map(|source| writeln!(outlock, "{} {} -> {}", p.name(), p.version(), source.url()).map_err(Error::from)) + .map(|(source_name, source)| writeln!(outlock, "{} {} -> {} = {}", p.name(), p.version(), source_name, source.url()).map_err(Error::from)) .collect() }) .collect() diff --git a/src/package/package.rs b/src/package/package.rs index 9e19079..4be822f 100644 --- a/src/package/package.rs +++ b/src/package/package.rs @@ -26,7 +26,7 @@ pub struct Package { version_is_semver: bool, #[getset(get = "pub")] - sources: Vec<Source>, + sources: HashMap<String, Source>, #[getset(get = "pub")] dependencies: Dependencies, diff --git a/src/source/mod.rs b/src/source/mod.rs index 1117a55..34b4043 100644 --- a/src/source/mod.rs +++ b/src/source/mod.rs @@ -29,24 +29,26 @@ pub struct SourceEntry { cache_root: PathBuf, package_name: PackageName, package_version: PackageVersion, + package_source_name: String, package_source: Source, } impl SourceEntry { fn source_file_path(&self) -> PathBuf { - self.cache_root.join(format!("{}-{}/{}.source", self.package_name, self.package_version, self.package_source.hash().value())) + self.cache_root.join(format!("{}-{}/{}-{}.source", self.package_name, self.package_version, self.package_source_name, self.package_source.hash().value())) } fn for_package(cache_root: PathBuf, package: &Package) -> Vec<Self> { package.sources() .clone() .into_iter() - .map(|source| { + .map(|(source_name, source)| { SourceEntry { cache_root: cache_root.clone(), package_name: package.name().clone(), package_version: package.version().clone(), + package_source_name: source_name, package_source: source, } }) |