lux_lib/operations/install/
spec.rs1use bon::Builder;
2
3use crate::{
4 build::BuildBehaviour,
5 lockfile::{LockConstraint, OptState, PinnedState},
6 lua_rockspec::RockSourceSpec,
7 package::PackageReq,
8 tree,
9};
10
11#[derive(Debug, Builder)]
13#[builder(start_fn = new, finish_fn(name = build, vis = "pub"))]
14pub struct PackageInstallSpec {
15 #[builder(start_fn)]
16 pub(crate) package: PackageReq,
17 #[builder(start_fn)]
18 pub(crate) entry_type: tree::EntryType,
19 #[builder(default)]
20 pub(crate) build_behaviour: BuildBehaviour,
21 #[builder(default)]
22 pub(crate) pin: PinnedState,
23 #[builder(default)]
24 pub(crate) opt: OptState,
25 pub(crate) source: Option<RockSourceSpec>,
26 pub(crate) constraint: Option<LockConstraint>,
29}