pub struct Recipe {
pub name: String,
pub command: String,
pub args: Vec<String>,
pub artifacts: Vec<String>,
}Expand description
How a repository is built.
Fields§
§name: StringWhat this build is called, in the record.
command: StringThe program to run, in the checkout.
args: Vec<String>§artifacts: Vec<String>Paths, relative to the checkout, that the build produces.
Empty means discover: every ordinary file directly under
target/release that is executable. That is the default recipe’s shape,
and naming them explicitly is what a repository does when it wants
something else.
Implementations§
Source§impl Recipe
impl Recipe
Sourcepub fn cargo_default() -> Recipe
pub fn cargo_default() -> Recipe
The default recipe, for a cargo workspace that carries none.
--locked above all: a build that may re-resolve is a build whose
inputs are not the ones in the commit, and the SBOM this pairs with is
read from the same lockfile. Without it the two describe different
builds and nothing says so.
Sourcepub fn parse(text: &str) -> Result<Recipe>
pub fn parse(text: &str) -> Result<Recipe>
Parse gunnar-build.toml.
A small, total reader rather than a TOML dependency, for the reason
gunnar_core::sbom’s lockfile reader is one: this crate is in the
appliance graph. key = "value" and key = ["a", "b"], and anything it
does not understand is skipped rather than guessed at.
Trait Implementations§
impl Eq for Recipe
impl StructuralPartialEq for Recipe
Auto Trait Implementations§
impl Freeze for Recipe
impl RefUnwindSafe for Recipe
impl Send for Recipe
impl Sync for Recipe
impl Unpin for Recipe
impl UnsafeUnpin for Recipe
impl UnwindSafe for Recipe
Blanket Implementations§
impl<T> Allocation for T
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request