diff options
| author | Martin Nordholts <martin.nordholts@codetale.se> | 2024-04-27 08:05:32 +0200 |
|---|---|---|
| committer | Martin Nordholts <martin.nordholts@codetale.se> | 2024-04-27 19:27:59 +0200 |
| commit | 4e83776731b1b80f999d89fed4f382641119bbfb (patch) | |
| tree | 321503d223f446879e8e14f825dfdcf0f5b5f3c8 | |
| parent | 38dd569150aa5c44d7fc264e88515544061d359d (diff) | |
| download | rust-4e83776731b1b80f999d89fed4f382641119bbfb.tar.gz rust-4e83776731b1b80f999d89fed4f382641119bbfb.zip | |
bootstrap: Document `struct Builder` and its fields
| -rw-r--r-- | src/bootstrap/src/core/builder.rs | 21 | ||||
| -rw-r--r-- | src/bootstrap/src/core/config/config.rs | 2 |
2 files changed, 23 insertions, 0 deletions
diff --git a/src/bootstrap/src/core/builder.rs b/src/bootstrap/src/core/builder.rs index adef9ebd0e3..dc01f616c2c 100644 --- a/src/bootstrap/src/core/builder.rs +++ b/src/bootstrap/src/core/builder.rs @@ -34,13 +34,34 @@ use once_cell::sync::Lazy; #[cfg(test)] mod tests; +/// Builds and performs different [`Self::kind`]s of stuff and actions, taking +/// into account build configuration from e.g. config.toml. pub struct Builder<'a> { + /// Build configuration from e.g. config.toml. pub build: &'a Build, + + /// The stage to use. Either implicitly determined based on subcommand, or + /// explicitly specified with `--stage N`. Normally this is the stage we + /// use, but sometimes we want to run steps with a lower stage than this. pub top_stage: u32, + + /// What to build or what action to perform. pub kind: Kind, + + /// A cache of outputs of [`Step`]s so we can avoid running steps we already + /// ran. cache: Cache, + + /// A stack of [`Step`]s to run before we can run this builder. The output + /// of steps is cached in [`Self::cache`]. stack: RefCell<Vec<Box<dyn Any>>>, + + /// The total amount of time we spent running [`Step`]s in [`Self::stack`]. time_spent_on_dependencies: Cell<Duration>, + + /// The paths passed on the command line. Used by steps to figure out what + /// to do. For example: with `./x check foo bar` we get `paths=["foo", + /// "bar"]`. pub paths: Vec<PathBuf>, } diff --git a/src/bootstrap/src/core/config/config.rs b/src/bootstrap/src/core/config/config.rs index 2acce627359..019413ee562 100644 --- a/src/bootstrap/src/core/config/config.rs +++ b/src/bootstrap/src/core/config/config.rs @@ -345,6 +345,8 @@ pub struct Config { #[cfg(test)] pub initial_rustfmt: RefCell<RustfmtState>, + /// The paths to work with. For example: with `./x check foo bar` we get + /// `paths=["foo", "bar"]`. pub paths: Vec<PathBuf>, } |
