pub struct RustBuildMeta<State> {
pub target_directory: Utf8PathBuf,
pub base_output_directories: BTreeSet<Utf8PathBuf>,
pub non_test_binaries: BTreeMap<String, BTreeSet<RustNonTestBinarySummary>>,
pub build_script_out_dirs: BTreeMap<String, Utf8PathBuf>,
pub linked_paths: BTreeMap<Utf8PathBuf, BTreeSet<String>>,
pub build_platforms: BuildPlatforms,
/* private fields */
}
Expand description
Rust-related metadata used for builds and test runs.
Fields§
§target_directory: Utf8PathBuf
The target directory for build artifacts.
base_output_directories: BTreeSet<Utf8PathBuf>
A list of base output directories, relative to the target directory. These directories and their “deps” subdirectories are added to the dynamic library path.
non_test_binaries: BTreeMap<String, BTreeSet<RustNonTestBinarySummary>>
Information about non-test executables, keyed by package ID.
build_script_out_dirs: BTreeMap<String, Utf8PathBuf>
Build script output directory, relative to the target directory and keyed by package ID. Only present for workspace packages that have build scripts.
linked_paths: BTreeMap<Utf8PathBuf, BTreeSet<String>>
A list of linked paths, relative to the target directory. These directories are added to the dynamic library path.
The values are the package IDs of the libraries that requested the linked paths.
Note that the serialized metadata only has the paths for now, not the libraries that requested them. We might consider adding a new field with metadata about that.
build_platforms: BuildPlatforms
The build platforms: host and target triple
Implementations§
source§impl RustBuildMeta<BinaryListState>
impl RustBuildMeta<BinaryListState>
sourcepub fn new(
target_directory: impl Into<Utf8PathBuf>,
build_platforms: BuildPlatforms,
) -> Self
pub fn new( target_directory: impl Into<Utf8PathBuf>, build_platforms: BuildPlatforms, ) -> Self
Creates a new RustBuildMeta
.
sourcepub fn map_paths(
&self,
path_mapper: &PathMapper,
) -> RustBuildMeta<TestListState>
pub fn map_paths( &self, path_mapper: &PathMapper, ) -> RustBuildMeta<TestListState>
Maps paths using a PathMapper
to convert this to TestListState
.
source§impl RustBuildMeta<TestListState>
impl RustBuildMeta<TestListState>
sourcepub fn dylib_paths(&self) -> Vec<Utf8PathBuf>
pub fn dylib_paths(&self) -> Vec<Utf8PathBuf>
Returns the dynamic library paths corresponding to this metadata.
See this Cargo documentation for more.
These paths are prepended to the dynamic library environment variable for the current
platform (e.g. LD_LIBRARY_PATH
on non-Apple Unix platforms).
source§impl<State> RustBuildMeta<State>
impl<State> RustBuildMeta<State>
sourcepub fn from_summary(
summary: RustBuildMetaSummary,
) -> Result<Self, RustBuildMetaParseError>
pub fn from_summary( summary: RustBuildMetaSummary, ) -> Result<Self, RustBuildMetaParseError>
Creates a RustBuildMeta
from a serializable summary.
sourcepub fn to_summary(&self) -> RustBuildMetaSummary
pub fn to_summary(&self) -> RustBuildMetaSummary
Converts self to a serializable form.
Trait Implementations§
source§impl<State: Clone> Clone for RustBuildMeta<State>
impl<State: Clone> Clone for RustBuildMeta<State>
source§fn clone(&self) -> RustBuildMeta<State>
fn clone(&self) -> RustBuildMeta<State>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl<State: Debug> Debug for RustBuildMeta<State>
impl<State: Debug> Debug for RustBuildMeta<State>
source§impl<State: PartialEq> PartialEq for RustBuildMeta<State>
impl<State: PartialEq> PartialEq for RustBuildMeta<State>
impl<State: Eq> Eq for RustBuildMeta<State>
impl<State> StructuralPartialEq for RustBuildMeta<State>
Auto Trait Implementations§
impl<State> Freeze for RustBuildMeta<State>
impl<State> RefUnwindSafe for RustBuildMeta<State>where
State: RefUnwindSafe,
impl<State> Send for RustBuildMeta<State>where
State: Send,
impl<State> Sync for RustBuildMeta<State>where
State: Sync,
impl<State> Unpin for RustBuildMeta<State>where
State: Unpin,
impl<State> UnwindSafe for RustBuildMeta<State>where
State: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more§impl<D> OwoColorize for D
impl<D> OwoColorize for D
§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg
] or
a color-specific method, such as [OwoColorize::green
], Read more§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg
] or
a color-specific method, such as [OwoColorize::on_yellow
], Read more