summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--examples/packages/example_3/pkg.toml2
-rw-r--r--src/commands/source.rs2
-rw-r--r--src/package/package.rs2
-rw-r--r--src/source/mod.rs6
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,
}
})