_ => return None,
};
- let builder = Builder {
- build,
- top_stage: build.config.stage.unwrap_or(2),
- kind,
- cache: Cache::new(),
- stack: RefCell::new(Vec::new()),
- time_spent_on_dependencies: Cell::new(Duration::new(0, 0)),
- paths: vec![],
- };
-
+ let builder = Self::new_internal(build, kind, vec![]);
let builder = &builder;
let mut should_run = ShouldRun::new(builder);
for desc in Builder::get_step_descriptions(builder.kind) {
Some(help)
}
+ fn new_internal(build: &Build, kind: Kind, paths: Vec<PathBuf>) -> Builder<'_> {
+ Builder {
+ build,
+ top_stage: build.config.stage.unwrap_or(2),
+ kind,
+ cache: Cache::new(),
+ stack: RefCell::new(Vec::new()),
+ time_spent_on_dependencies: Cell::new(Duration::new(0, 0)),
+ paths,
+ }
+ }
+
pub fn new(build: &Build) -> Builder<'_> {
let (kind, paths) = match build.config.cmd {
Subcommand::Build { ref paths } => (Kind::Build, &paths[..]),
Subcommand::Format { .. } | Subcommand::Clean { .. } => panic!(),
};
- Builder {
- build,
- top_stage: build.config.stage.unwrap_or(2),
- kind,
- cache: Cache::new(),
- stack: RefCell::new(Vec::new()),
- time_spent_on_dependencies: Cell::new(Duration::new(0, 0)),
- paths: paths.to_owned(),
- }
+ Self::new_internal(build, kind, paths.to_owned())
}
pub fn execute_cli(&self) {