diff options
| author | bors <bors@rust-lang.org> | 2017-05-03 23:05:07 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2017-05-03 23:05:07 +0000 |
| commit | b16c7a235fa0f57fed6b7ec13ffd3cff1bcdd9ad (patch) | |
| tree | e8fa6a2c0127f43d06a1e4fe7788c3cce852fab0 /src/tools | |
| parent | 2d4ed8e0cbe2c5f3763273a5d8f6b15119473ba7 (diff) | |
| parent | e20b2823303ddb145ce58286abeb67d4c017ccf0 (diff) | |
| download | rust-b16c7a235fa0f57fed6b7ec13ffd3cff1bcdd9ad.tar.gz rust-b16c7a235fa0f57fed6b7ec13ffd3cff1bcdd9ad.zip | |
Auto merge of #41735 - frewsxcv:rollup, r=frewsxcv
Rollup of 6 pull requests - Successful merges: #41543, #41600, #41715, #41720, #41721, #41730 - Failed merges:
Diffstat (limited to 'src/tools')
| -rw-r--r-- | src/tools/build-manifest/src/main.rs | 50 |
1 files changed, 30 insertions, 20 deletions
diff --git a/src/tools/build-manifest/src/main.rs b/src/tools/build-manifest/src/main.rs index a8cb30da435..ba37863b1f6 100644 --- a/src/tools/build-manifest/src/main.rs +++ b/src/tools/build-manifest/src/main.rs @@ -116,10 +116,26 @@ struct Target { available: bool, url: Option<String>, hash: Option<String>, + xz_url: Option<String>, + xz_hash: Option<String>, components: Option<Vec<Component>>, extensions: Option<Vec<Component>>, } +impl Target { + fn unavailable() -> Target { + Target { + available: false, + url: None, + hash: None, + xz_url: None, + xz_hash: None, + components: None, + extensions: None, + } + } +} + #[derive(RustcEncodable)] struct Component { pkg: String, @@ -242,16 +258,12 @@ impl Builder { let digest = match self.digests.remove(&filename) { Some(digest) => digest, None => { - pkg.target.insert(host.to_string(), Target { - available: false, - url: None, - hash: None, - components: None, - extensions: None, - }); + pkg.target.insert(host.to_string(), Target::unavailable()); continue } }; + let xz_filename = filename.replace(".tar.gz", ".tar.xz"); + let xz_digest = self.digests.remove(&xz_filename); let mut components = Vec::new(); let mut extensions = Vec::new(); @@ -293,8 +305,10 @@ impl Builder { pkg.target.insert(host.to_string(), Target { available: true, - url: Some(self.url("rust", host)), + url: Some(self.url(&filename)), hash: Some(digest), + xz_url: xz_digest.as_ref().map(|_| self.url(&xz_filename)), + xz_hash: xz_digest, components: Some(components), extensions: Some(extensions), }); @@ -312,21 +326,17 @@ impl Builder { let filename = self.filename(pkgname, name); let digest = match self.digests.remove(&filename) { Some(digest) => digest, - None => { - return (name.to_string(), Target { - available: false, - url: None, - hash: None, - components: None, - extensions: None, - }) - } + None => return (name.to_string(), Target::unavailable()), }; + let xz_filename = filename.replace(".tar.gz", ".tar.xz"); + let xz_digest = self.digests.remove(&xz_filename); (name.to_string(), Target { available: true, - url: Some(self.url(pkgname, name)), + url: Some(self.url(&filename)), hash: Some(digest), + xz_url: xz_digest.as_ref().map(|_| self.url(&xz_filename)), + xz_hash: xz_digest, components: None, extensions: None, }) @@ -338,11 +348,11 @@ impl Builder { }); } - fn url(&self, component: &str, target: &str) -> String { + fn url(&self, filename: &str) -> String { format!("{}/{}/{}", self.s3_address, self.date, - self.filename(component, target)) + filename) } fn filename(&self, component: &str, target: &str) -> String { |
