pub struct DistConfigBuilder<'a> { /* private fields */ }
Expand description
Configures and constructs DistConfig
.
§Examples
use cli_xtask::{config::DistConfigBuilder, workspace};
let workspace = workspace::current();
let config = DistConfigBuilder::new("app", workspace).build()?;
Implementations§
Source§impl<'a> DistConfigBuilder<'a>
impl<'a> DistConfigBuilder<'a>
Sourcepub fn new(name: impl Into<String>, workspace: &'a Metadata) -> Self
pub fn new(name: impl Into<String>, workspace: &'a Metadata) -> Self
Creates a new DistConfigBuilder
from the given name.
Created DistConfig
will be associated with current cargo workspace.
§Examples
use cli_xtask::{config::DistConfigBuilder, workspace};
let workspace = workspace::current();
let config = DistConfigBuilder::new("app-v1.0", workspace).build()?;
Sourcepub fn from_default_packages(
name: impl Into<String>,
workspace: &'a Metadata,
) -> (Self, Vec<DistPackageConfigBuilder<'a>>)
pub fn from_default_packages( name: impl Into<String>, workspace: &'a Metadata, ) -> (Self, Vec<DistPackageConfigBuilder<'a>>)
Creates a new DistConfigBuilder
from the default packages of the given workspace.
Created DistConfig
will be associated with current cargo workspace.
§Examples
use cli_xtask::{config::{DistConfigBuilder, DistPackageConfigBuilder}, workspace};
let workspace = workspace::current();
let (dist_config, pkg_configs) = DistConfigBuilder::from_default_packages("app-v1.0", workspace);
let pkg_configs = pkg_configs.into_iter().map(DistPackageConfigBuilder::build).collect::<Result<Vec<_>, _>>()?;
let dist_config = dist_config.packages(pkg_configs).build()?;
Sourcepub fn from_root_package(
workspace: &'a Metadata,
) -> Result<(Self, DistPackageConfigBuilder<'a>)>
pub fn from_root_package( workspace: &'a Metadata, ) -> Result<(Self, DistPackageConfigBuilder<'a>)>
Creates a new DistConfigBuilder
from the root package of given
workspace.
The name of the created DistConfig
will be generated from the name and
version of the root package.
§Errors
Returns an error if the root package is not found.
§Examples
use cli_xtask::{config::DistConfigBuilder, workspace};
let workspace = workspace::current();
let (dist_config, pkg_config) = DistConfigBuilder::from_root_package(workspace)?;
let dist_config = dist_config.package(pkg_config.build()?).build()?;
let root_package = workspace.root_package().unwrap();
assert_eq!(
dist_config.name(),
format!("{}-v{}", root_package.name, root_package.version)
);
Sourcepub fn from_package_name(
workspace: &'a Metadata,
name: &str,
) -> Result<(Self, DistPackageConfigBuilder<'a>)>
pub fn from_package_name( workspace: &'a Metadata, name: &str, ) -> Result<(Self, DistPackageConfigBuilder<'a>)>
Creates a new DistConfigBuilder
from a package with the given name in
the the given workspace.
The name of the created DistConfig
will be generated from the name and
version of the given package.
§Errors
Returns an error if the package with the specified name is not found.
§Examples
use cli_xtask::{config::DistConfigBuilder, workspace};
let workspace = workspace::current();
let package = workspace.workspace_packages()[0];
let (dist_config, pkg_config) = DistConfigBuilder::from_package_name(workspace, &package.name)?;
let dist_config = dist_config.package(pkg_config.build()?).build()?;
assert_eq!(
dist_config.name(),
format!("{}-v{}", package.name, package.version)
);
Sourcepub fn package_by_name(
&self,
name: &str,
) -> Result<DistPackageConfigBuilder<'a>>
pub fn package_by_name( &self, name: &str, ) -> Result<DistPackageConfigBuilder<'a>>
Creates a new DistPackageConfigBuilder
from the given package name.
§Errors
Returns an error if the package with the specified name is not found.
§Examples
use cli_xtask::{config::DistConfigBuilder, workspace};
let workspace = workspace::current();
let package = workspace.workspace_packages()[0];
let dist_config = DistConfigBuilder::new("app-dist", workspace);
let pkg_config = dist_config.package_by_name(&package.name)?.build()?;
let dist_config = dist_config.package(pkg_config).build()?;
Sourcepub fn package(self, package: DistPackageConfig<'a>) -> Self
pub fn package(self, package: DistPackageConfig<'a>) -> Self
Adds the given package to the DistConfig
.
§Examples
use cli_xtask::{config::DistConfigBuilder, workspace};
let workspace = workspace::current();
let package = workspace.workspace_packages()[0];
let dist_config = DistConfigBuilder::new("app-dist", workspace);
let pkg_config = dist_config.package_by_name(&package.name)?.build()?;
let dist_config = dist_config.package(pkg_config).build()?;
Sourcepub fn packages(
self,
packages: impl IntoIterator<Item = DistPackageConfig<'a>>,
) -> Self
pub fn packages( self, packages: impl IntoIterator<Item = DistPackageConfig<'a>>, ) -> Self
Adds the given packages to the DistConfig
.
§Examples
use cli_xtask::{config::{DistConfigBuilder, DistPackageConfig}, workspace, Result};
let workspace = workspace::current();
let packages = workspace.workspace_packages();
let dist_config = DistConfigBuilder::new("app-dist", workspace);
let pkg_configs = packages.iter().map(|package| -> Result<DistPackageConfig> {
let pkg_config = dist_config.package_by_name(&package.name)?.build()?;
Ok(pkg_config)
}).collect::<Result<Vec<_>>>()?;
let dist_config = dist_config.packages(pkg_configs).build()?;
Sourcepub fn cargo_build_options(
self,
options: impl IntoIterator<Item = impl Into<String>>,
) -> Self
Available on crate feature subcommand-dist-build-bin
only.
pub fn cargo_build_options( self, options: impl IntoIterator<Item = impl Into<String>>, ) -> Self
subcommand-dist-build-bin
only.Adds the given cargo build options to the DistConfig
.
§Examples
use cli_xtask::{config::{DistConfigBuilder, DistPackageConfig}, workspace, Result};
let workspace = workspace::current();
let packages = workspace.workspace_packages();
let dist_config = DistConfigBuilder::new("app-dist", workspace);
dist_config.cargo_build_options(["--features", "feature-a"]).build()?;
Sourcepub fn build(self) -> Result<DistConfig<'a>>
pub fn build(self) -> Result<DistConfig<'a>>
Builds a DistConfig
from the current configuration.
§Errors
Returns an error if the DistConfig
cannot be built.
Trait Implementations§
Auto Trait Implementations§
impl<'a> Freeze for DistConfigBuilder<'a>
impl<'a> !RefUnwindSafe for DistConfigBuilder<'a>
impl<'a> Send for DistConfigBuilder<'a>
impl<'a> Sync for DistConfigBuilder<'a>
impl<'a> Unpin for DistConfigBuilder<'a>
impl<'a> !UnwindSafe for DistConfigBuilder<'a>
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> 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<D> OwoColorize for D
impl<D> OwoColorize for D
Source§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
Source§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
Source§fn black(&self) -> FgColorDisplay<'_, Black, Self>
fn black(&self) -> FgColorDisplay<'_, Black, Self>
Source§fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
Source§fn red(&self) -> FgColorDisplay<'_, Red, Self>
fn red(&self) -> FgColorDisplay<'_, Red, Self>
Source§fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
Source§fn green(&self) -> FgColorDisplay<'_, Green, Self>
fn green(&self) -> FgColorDisplay<'_, Green, Self>
Source§fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
Source§fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
Source§fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
Source§fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
Source§fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
Source§fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
Source§fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
Source§fn white(&self) -> FgColorDisplay<'_, White, Self>
fn white(&self) -> FgColorDisplay<'_, White, Self>
Source§fn on_white(&self) -> BgColorDisplay<'_, White, Self>
fn on_white(&self) -> BgColorDisplay<'_, White, Self>
Source§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
Source§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
Source§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
Source§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
Source§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
Source§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
Source§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
Source§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
Source§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
Source§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
Source§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
Source§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
Source§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
Source§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
Source§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
Source§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
Source§fn bold(&self) -> BoldDisplay<'_, Self>
fn bold(&self) -> BoldDisplay<'_, Self>
Source§fn dimmed(&self) -> DimDisplay<'_, Self>
fn dimmed(&self) -> DimDisplay<'_, Self>
Source§fn italic(&self) -> ItalicDisplay<'_, Self>
fn italic(&self) -> ItalicDisplay<'_, Self>
Source§fn underline(&self) -> UnderlineDisplay<'_, Self>
fn underline(&self) -> UnderlineDisplay<'_, Self>
Source§fn blink(&self) -> BlinkDisplay<'_, Self>
fn blink(&self) -> BlinkDisplay<'_, Self>
Source§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
Source§fn reversed(&self) -> ReversedDisplay<'_, Self>
fn reversed(&self) -> ReversedDisplay<'_, Self>
Source§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
Source§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 moreSource§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