Skip to content

Commit 14fa726

Browse files
pietroalbiniMark-Simulacrum
authored andcommitted
bootstrap: change the dist outputs to GeneratedTarball
The struct will allow to store more context on the generated tarballs.
1 parent 4e4636d commit 14fa726

File tree

3 files changed

+64
-48
lines changed

3 files changed

+64
-48
lines changed

src/bootstrap/dist.rs

Lines changed: 38 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ use crate::builder::{Builder, RunConfig, ShouldRun, Step};
1919
use crate::cache::{Interned, INTERNER};
2020
use crate::compile;
2121
use crate::config::TargetSelection;
22-
use crate::tarball::{OverlayKind, Tarball};
22+
use crate::tarball::{GeneratedTarball, OverlayKind, Tarball};
2323
use crate::tool::{self, Tool};
2424
use crate::util::{exe, is_dylib, timeit};
2525
use crate::{Compiler, DependencyType, Mode, LLVM_TOOLS};
@@ -51,7 +51,7 @@ pub struct Docs {
5151
}
5252

5353
impl Step for Docs {
54-
type Output = Option<PathBuf>;
54+
type Output = Option<GeneratedTarball>;
5555
const DEFAULT: bool = true;
5656

5757
fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> {
@@ -63,7 +63,7 @@ impl Step for Docs {
6363
}
6464

6565
/// Builds the `rust-docs` installer component.
66-
fn run(self, builder: &Builder<'_>) -> Option<PathBuf> {
66+
fn run(self, builder: &Builder<'_>) -> Option<GeneratedTarball> {
6767
let host = self.host;
6868
if !builder.config.docs {
6969
return None;
@@ -86,7 +86,7 @@ pub struct RustcDocs {
8686
}
8787

8888
impl Step for RustcDocs {
89-
type Output = Option<PathBuf>;
89+
type Output = Option<GeneratedTarball>;
9090
const DEFAULT: bool = true;
9191

9292
fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> {
@@ -98,7 +98,7 @@ impl Step for RustcDocs {
9898
}
9999

100100
/// Builds the `rustc-docs` installer component.
101-
fn run(self, builder: &Builder<'_>) -> Option<PathBuf> {
101+
fn run(self, builder: &Builder<'_>) -> Option<GeneratedTarball> {
102102
let host = self.host;
103103
if !builder.config.compiler_docs {
104104
return None;
@@ -267,7 +267,7 @@ pub struct Mingw {
267267
}
268268

269269
impl Step for Mingw {
270-
type Output = Option<PathBuf>;
270+
type Output = Option<GeneratedTarball>;
271271
const DEFAULT: bool = true;
272272

273273
fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> {
@@ -282,7 +282,7 @@ impl Step for Mingw {
282282
///
283283
/// This contains all the bits and pieces to run the MinGW Windows targets
284284
/// without any extra installed software (e.g., we bundle gcc, libraries, etc).
285-
fn run(self, builder: &Builder<'_>) -> Option<PathBuf> {
285+
fn run(self, builder: &Builder<'_>) -> Option<GeneratedTarball> {
286286
let host = self.host;
287287
if !host.contains("pc-windows-gnu") {
288288
return None;
@@ -307,7 +307,7 @@ pub struct Rustc {
307307
}
308308

309309
impl Step for Rustc {
310-
type Output = PathBuf;
310+
type Output = GeneratedTarball;
311311
const DEFAULT: bool = true;
312312
const ONLY_HOSTS: bool = true;
313313

@@ -321,7 +321,7 @@ impl Step for Rustc {
321321
}
322322

323323
/// Creates the `rustc` installer component.
324-
fn run(self, builder: &Builder<'_>) -> PathBuf {
324+
fn run(self, builder: &Builder<'_>) -> GeneratedTarball {
325325
let compiler = self.compiler;
326326
let host = self.compiler.host;
327327

@@ -555,7 +555,7 @@ pub struct Std {
555555
}
556556

557557
impl Step for Std {
558-
type Output = Option<PathBuf>;
558+
type Output = Option<GeneratedTarball>;
559559
const DEFAULT: bool = true;
560560

561561
fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> {
@@ -573,7 +573,7 @@ impl Step for Std {
573573
});
574574
}
575575

576-
fn run(self, builder: &Builder<'_>) -> Option<PathBuf> {
576+
fn run(self, builder: &Builder<'_>) -> Option<GeneratedTarball> {
577577
let compiler = self.compiler;
578578
let target = self.target;
579579

@@ -601,7 +601,7 @@ pub struct RustcDev {
601601
}
602602

603603
impl Step for RustcDev {
604-
type Output = Option<PathBuf>;
604+
type Output = Option<GeneratedTarball>;
605605
const DEFAULT: bool = true;
606606
const ONLY_HOSTS: bool = true;
607607

@@ -620,7 +620,7 @@ impl Step for RustcDev {
620620
});
621621
}
622622

623-
fn run(self, builder: &Builder<'_>) -> Option<PathBuf> {
623+
fn run(self, builder: &Builder<'_>) -> Option<GeneratedTarball> {
624624
let compiler = self.compiler;
625625
let target = self.target;
626626
if skip_host_target_lib(builder, compiler) {
@@ -660,7 +660,7 @@ pub struct Analysis {
660660
}
661661

662662
impl Step for Analysis {
663-
type Output = Option<PathBuf>;
663+
type Output = Option<GeneratedTarball>;
664664
const DEFAULT: bool = true;
665665

666666
fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> {
@@ -683,7 +683,7 @@ impl Step for Analysis {
683683
}
684684

685685
/// Creates a tarball of save-analysis metadata, if available.
686-
fn run(self, builder: &Builder<'_>) -> Option<PathBuf> {
686+
fn run(self, builder: &Builder<'_>) -> Option<GeneratedTarball> {
687687
let compiler = self.compiler;
688688
let target = self.target;
689689
assert!(builder.config.extended);
@@ -796,7 +796,7 @@ pub struct Src;
796796

797797
impl Step for Src {
798798
/// The output path of the src installer tarball
799-
type Output = PathBuf;
799+
type Output = GeneratedTarball;
800800
const DEFAULT: bool = true;
801801
const ONLY_HOSTS: bool = true;
802802

@@ -809,7 +809,7 @@ impl Step for Src {
809809
}
810810

811811
/// Creates the `rust-src` installer component
812-
fn run(self, builder: &Builder<'_>) -> PathBuf {
812+
fn run(self, builder: &Builder<'_>) -> GeneratedTarball {
813813
let tarball = Tarball::new_targetless(builder, "rust-src");
814814

815815
// A lot of tools expect the rust-src component to be entirely in this directory, so if you
@@ -848,7 +848,7 @@ pub struct PlainSourceTarball;
848848

849849
impl Step for PlainSourceTarball {
850850
/// Produces the location of the tarball generated
851-
type Output = PathBuf;
851+
type Output = GeneratedTarball;
852852
const DEFAULT: bool = true;
853853
const ONLY_HOSTS: bool = true;
854854

@@ -862,7 +862,7 @@ impl Step for PlainSourceTarball {
862862
}
863863

864864
/// Creates the plain source tarball
865-
fn run(self, builder: &Builder<'_>) -> PathBuf {
865+
fn run(self, builder: &Builder<'_>) -> GeneratedTarball {
866866
let tarball = Tarball::new(builder, "rustc", "src");
867867
let plain_dst_src = tarball.image_dir();
868868

@@ -941,7 +941,7 @@ pub struct Cargo {
941941
}
942942

943943
impl Step for Cargo {
944-
type Output = PathBuf;
944+
type Output = GeneratedTarball;
945945
const ONLY_HOSTS: bool = true;
946946

947947
fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> {
@@ -959,7 +959,7 @@ impl Step for Cargo {
959959
});
960960
}
961961

962-
fn run(self, builder: &Builder<'_>) -> PathBuf {
962+
fn run(self, builder: &Builder<'_>) -> GeneratedTarball {
963963
let compiler = self.compiler;
964964
let target = self.target;
965965

@@ -995,7 +995,7 @@ pub struct Rls {
995995
}
996996

997997
impl Step for Rls {
998-
type Output = Option<PathBuf>;
998+
type Output = Option<GeneratedTarball>;
999999
const ONLY_HOSTS: bool = true;
10001000

10011001
fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> {
@@ -1013,7 +1013,7 @@ impl Step for Rls {
10131013
});
10141014
}
10151015

1016-
fn run(self, builder: &Builder<'_>) -> Option<PathBuf> {
1016+
fn run(self, builder: &Builder<'_>) -> Option<GeneratedTarball> {
10171017
let compiler = self.compiler;
10181018
let target = self.target;
10191019
assert!(builder.config.extended);
@@ -1047,7 +1047,7 @@ pub struct RustAnalyzer {
10471047
}
10481048

10491049
impl Step for RustAnalyzer {
1050-
type Output = Option<PathBuf>;
1050+
type Output = Option<GeneratedTarball>;
10511051
const ONLY_HOSTS: bool = true;
10521052

10531053
fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> {
@@ -1065,7 +1065,7 @@ impl Step for RustAnalyzer {
10651065
});
10661066
}
10671067

1068-
fn run(self, builder: &Builder<'_>) -> Option<PathBuf> {
1068+
fn run(self, builder: &Builder<'_>) -> Option<GeneratedTarball> {
10691069
let compiler = self.compiler;
10701070
let target = self.target;
10711071
assert!(builder.config.extended);
@@ -1096,7 +1096,7 @@ pub struct Clippy {
10961096
}
10971097

10981098
impl Step for Clippy {
1099-
type Output = PathBuf;
1099+
type Output = GeneratedTarball;
11001100
const ONLY_HOSTS: bool = true;
11011101

11021102
fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> {
@@ -1114,7 +1114,7 @@ impl Step for Clippy {
11141114
});
11151115
}
11161116

1117-
fn run(self, builder: &Builder<'_>) -> PathBuf {
1117+
fn run(self, builder: &Builder<'_>) -> GeneratedTarball {
11181118
let compiler = self.compiler;
11191119
let target = self.target;
11201120
assert!(builder.config.extended);
@@ -1146,7 +1146,7 @@ pub struct Miri {
11461146
}
11471147

11481148
impl Step for Miri {
1149-
type Output = Option<PathBuf>;
1149+
type Output = Option<GeneratedTarball>;
11501150
const ONLY_HOSTS: bool = true;
11511151

11521152
fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> {
@@ -1164,7 +1164,7 @@ impl Step for Miri {
11641164
});
11651165
}
11661166

1167-
fn run(self, builder: &Builder<'_>) -> Option<PathBuf> {
1167+
fn run(self, builder: &Builder<'_>) -> Option<GeneratedTarball> {
11681168
let compiler = self.compiler;
11691169
let target = self.target;
11701170
assert!(builder.config.extended);
@@ -1199,7 +1199,7 @@ pub struct Rustfmt {
11991199
}
12001200

12011201
impl Step for Rustfmt {
1202-
type Output = Option<PathBuf>;
1202+
type Output = Option<GeneratedTarball>;
12031203
const ONLY_HOSTS: bool = true;
12041204

12051205
fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> {
@@ -1217,7 +1217,7 @@ impl Step for Rustfmt {
12171217
});
12181218
}
12191219

1220-
fn run(self, builder: &Builder<'_>) -> Option<PathBuf> {
1220+
fn run(self, builder: &Builder<'_>) -> Option<GeneratedTarball> {
12211221
let compiler = self.compiler;
12221222
let target = self.target;
12231223

@@ -1876,7 +1876,7 @@ pub struct LlvmTools {
18761876
}
18771877

18781878
impl Step for LlvmTools {
1879-
type Output = Option<PathBuf>;
1879+
type Output = Option<GeneratedTarball>;
18801880
const ONLY_HOSTS: bool = true;
18811881

18821882
fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> {
@@ -1887,7 +1887,7 @@ impl Step for LlvmTools {
18871887
run.builder.ensure(LlvmTools { target: run.target });
18881888
}
18891889

1890-
fn run(self, builder: &Builder<'_>) -> Option<PathBuf> {
1890+
fn run(self, builder: &Builder<'_>) -> Option<GeneratedTarball> {
18911891
let target = self.target;
18921892
assert!(builder.config.extended);
18931893

@@ -1930,7 +1930,7 @@ pub struct RustDev {
19301930
}
19311931

19321932
impl Step for RustDev {
1933-
type Output = Option<PathBuf>;
1933+
type Output = Option<GeneratedTarball>;
19341934
const DEFAULT: bool = true;
19351935
const ONLY_HOSTS: bool = true;
19361936

@@ -1942,7 +1942,7 @@ impl Step for RustDev {
19421942
run.builder.ensure(RustDev { target: run.target });
19431943
}
19441944

1945-
fn run(self, builder: &Builder<'_>) -> Option<PathBuf> {
1945+
fn run(self, builder: &Builder<'_>) -> Option<GeneratedTarball> {
19461946
let target = self.target;
19471947

19481948
/* run only if llvm-config isn't used */
@@ -1995,7 +1995,7 @@ pub struct BuildManifest {
19951995
}
19961996

19971997
impl Step for BuildManifest {
1998-
type Output = PathBuf;
1998+
type Output = GeneratedTarball;
19991999
const DEFAULT: bool = false;
20002000
const ONLY_HOSTS: bool = true;
20012001

@@ -2007,7 +2007,7 @@ impl Step for BuildManifest {
20072007
run.builder.ensure(BuildManifest { target: run.target });
20082008
}
20092009

2010-
fn run(self, builder: &Builder<'_>) -> PathBuf {
2010+
fn run(self, builder: &Builder<'_>) -> GeneratedTarball {
20112011
let build_manifest = builder.tool_exe(Tool::BuildManifest);
20122012

20132013
let tarball = Tarball::new(builder, "build-manifest", &self.target.triple);
@@ -2027,7 +2027,7 @@ pub struct ReproducibleArtifacts {
20272027
}
20282028

20292029
impl Step for ReproducibleArtifacts {
2030-
type Output = Option<PathBuf>;
2030+
type Output = Option<GeneratedTarball>;
20312031
const DEFAULT: bool = true;
20322032
const ONLY_HOSTS: bool = true;
20332033

0 commit comments

Comments
 (0)