Struct cargo::core::compiler::BuildConfig
source · pub struct BuildConfig {Show 14 fields
pub requested_kinds: Vec<CompileKind>,
pub jobs: u32,
pub keep_going: bool,
pub requested_profile: InternedString,
pub mode: CompileMode,
pub message_format: MessageFormat,
pub force_rebuild: bool,
pub build_plan: bool,
pub unit_graph: bool,
pub primary_unit_rustc: Option<ProcessBuilder>,
pub rustfix_diagnostic_server: Arc<RefCell<Option<RustfixDiagnosticServer>>>,
pub export_dir: Option<PathBuf>,
pub future_incompat_report: bool,
pub timing_outputs: Vec<TimingOutput>,
}
Expand description
Configuration information for a rustc build.
Fields§
§requested_kinds: Vec<CompileKind>
The requested kind of compilation for this session
jobs: u32
Number of rustc jobs to run in parallel.
keep_going: bool
Do not abort the build as soon as there is an error.
requested_profile: InternedString
Build profile
mode: CompileMode
The mode we are compiling in.
message_format: MessageFormat
true
to print stdout in JSON format (for machine reading).
force_rebuild: bool
Force Cargo to do a full rebuild and treat each target as changed.
build_plan: bool
Output a build plan to stdout instead of actually compiling.
unit_graph: bool
Output the unit graph to stdout instead of actually compiling.
primary_unit_rustc: Option<ProcessBuilder>
An optional override of the rustc process for primary units
rustfix_diagnostic_server: Arc<RefCell<Option<RustfixDiagnosticServer>>>
A thread used by cargo fix
to receive messages on a socket regarding
the success/failure of applying fixes.
export_dir: Option<PathBuf>
The directory to copy final artifacts to. Note that even if out_dir
is
set, a copy of artifacts still could be found a target/(debug\release)
as usual.
future_incompat_report: bool
true
to output a future incompatibility report at the end of the build
timing_outputs: Vec<TimingOutput>
Which kinds of build timings to output (empty if none).
Implementations§
source§impl BuildConfig
impl BuildConfig
sourcepub fn new(
config: &Config,
jobs: Option<i32>,
keep_going: bool,
requested_targets: &[String],
mode: CompileMode
) -> CargoResult<BuildConfig>
pub fn new( config: &Config, jobs: Option<i32>, keep_going: bool, requested_targets: &[String], mode: CompileMode ) -> CargoResult<BuildConfig>
Parses all config files to learn about build configuration. Currently configured options are:
build.jobs
build.target
target.$target.ar
target.$target.linker
target.$target.libfoo.metadata
sourcepub fn emit_json(&self) -> bool
pub fn emit_json(&self) -> bool
Whether or not the user wants JSON output. Whether or not rustc
actually uses JSON is decided in add_error_format
.
pub fn test(&self) -> bool
pub fn single_requested_kind(&self) -> CargoResult<CompileKind>
Trait Implementations§
source§impl Clone for BuildConfig
impl Clone for BuildConfig
source§fn clone(&self) -> BuildConfig
fn clone(&self) -> BuildConfig
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more