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: 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: 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
sourceimpl BuildConfig
impl BuildConfig
sourcepub fn new(
config: &Config,
jobs: Option<u32>,
keep_going: bool,
requested_targets: &[String],
mode: CompileMode
) -> CargoResult<BuildConfig>
pub fn new(
config: &Config,
jobs: Option<u32>,
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
Auto Trait Implementations
impl !RefUnwindSafe for BuildConfig
impl Send for BuildConfig
impl !Sync for BuildConfig
impl Unpin for BuildConfig
impl UnwindSafe for BuildConfig
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more