use core::manifest::TargetSourcePath;
use core::profiles::{Lto, Profile};
-use core::shell::ColorChoice;
use core::{PackageId, Target};
use util::errors::{CargoResult, CargoResultExt, Internal};
use util::paths;
.unwrap_or_else(|| cx.bcx.config.cwd())
.to_path_buf();
- let should_capture_output = cx.bcx.config.cli_unstable().compile_progress;
-
return Ok(Work::new(move |state| {
// Only at runtime have we discovered what the extra -L and -l
// arguments are for native libraries, so we process those here. We
} else if build_plan {
state.build_plan(buildkey, rustc.clone(), outputs.clone());
} else {
- let exec_result = if should_capture_output {
- exec.exec_and_capture_output(rustc, &package_id, &target, mode, state)
- } else {
- exec.exec(rustc, &package_id, &target, mode)
- };
- exec_result
+ exec.exec_and_capture_output(rustc, &package_id, &target, mode, state)
.map_err(Internal::new)
.chain_err(|| format!("Could not compile `{}`.", name))?;
}
let package_id = unit.pkg.package_id().clone();
let target = unit.target.clone();
- let should_capture_output = cx.bcx.config.cli_unstable().compile_progress;
-
Ok(Work::new(move |state| {
if let Some(output) = build_state.outputs.lock().unwrap().get(&key) {
for cfg in output.cfgs.iter() {
&mut |line| json_stderr(line, &package_id, &target),
false,
).map(drop)
- } else if should_capture_output {
- state.capture_output(&rustdoc, false).map(drop)
} else {
- rustdoc.exec()
+ state.capture_output(&rustdoc, false).map(drop)
};
exec_result.chain_err(|| format!("Could not document `{}`.", name))?;
Ok(())
}
fn add_color(bcx: &BuildContext, cmd: &mut ProcessBuilder) {
- let capture_output = bcx.config.cli_unstable().compile_progress;
let shell = bcx.config.shell();
- if capture_output || shell.color_choice() != ColorChoice::CargoAuto {
- let color = if shell.supports_color() { "always" } else { "never" };
- cmd.args(&["--color", color]);
- }
+ let color = if shell.supports_color() { "always" } else { "never" };
+ cmd.args(&["--color", color]);
}
fn add_error_format(bcx: &BuildContext, cmd: &mut ProcessBuilder) {
pub package_features: bool,
pub advanced_env: bool,
pub config_profile: bool,
- pub compile_progress: bool,
}
impl CliUnstable {
"package-features" => self.package_features = true,
"advanced-env" => self.advanced_env = true,
"config-profile" => self.config_profile = true,
- "compile-progress" => self.compile_progress = true,
_ => bail!("unknown `-Z` flag specified: {}", k),
}
cargo +nightly build --build-plan -Z unstable-options
```
-### Compile progress
-* Tracking Issue: [rust-lang/cargo#2536](https://github.com/rust-lang/cargo/issues/2536)
-
-The `-Z compile-progress` flag enables a progress bar while compiling.
-
-```console
-$ cargo +nightly build -Z compile-progress
- Compiling libc v0.2.41
- Compiling void v1.0.2
- Compiling lazy_static v1.0.1
- Compiling regex v1.0.0
- Compiling ucd-util v0.1.1
- Compiling utf8-ranges v1.0.0
- Building [=======> ] 2/14: libc, regex, uc...
-```
-
### default-run
* Original issue: [#2200](https://github.com/rust-lang/cargo/issues/2200)