mod package#
- module package#
Canonical package artifacts shared by foreign imports, bumps, solving, and EasyBuild emission.
Variables
- const PACKAGE_SCHEMA_VERSION: u32#
- const PROFILE_LOCK_SCHEMA_VERSION: u32#
- const STACK_POLICY_SCHEMA_VERSION: u32#
Functions
- fn materialize_profile(plan: &PackagePlan, profile_name: &str, environment: &ProfileEnvironment) -> Result<MaterializedProfile, PackageError>#
- fn package_plan_to_bom(plan: &PackagePlan) -> Result<Bom, PackageError>#
- fn package_plan_to_cyclonedx(plan: &PackagePlan) -> Result<Value, PackageError>#
Enums
- enum ConditionExpr#
- Always#
- Predicate(ConditionPredicate)#
- All(Vec<ConditionExpr>)#
- Any(Vec<ConditionExpr>)#
- Not(Box<ConditionExpr>)#
Implementations
- impl ConditionExpr#
Functions
- fn evaluate(&self, context: &ConditionContext) -> bool#
- enum ConditionPredicate#
-
Implementations
- impl ConditionPredicate#
- enum PackageError#
- UnsupportedSchema(u32)#
- ProfileNotFound(String)#
- Json(serde_json::Error)#
- CycloneDx(String)#
Structs and Unions
- struct BuildSpec#
-
- easyblock: Option<String>#
- build_systems: Vec<String>#
- config_options: Vec<String>#
- moduleclass: Option<String>#
- patches: Vec<String>#
- struct CandidateExclusion#
- name: String#
- version_requirement: String#
- reason: String#
- scope: Option<String>#
- struct ConditionContext#
- package_version: String#
- features: BTreeMap<String, bool>#
- dependency_features: BTreeMap<String, BTreeMap<String, bool>>#
- compiler: Option<NamedVersion>#
- platform: Option<String>#
- architecture: Option<String>#
- variables: BTreeMap<String, String>#
- struct DependencyIntent#
- id: String#
- name: String#
- eb_name: Option<String>#
- constraint: Option<String>#
- roles: Vec<DependencyRole>#
- condition: ConditionExpr#
- virtual_capability: Option<String>#
- provenance: Vec<Provenance>#
- struct LockedDependency#
- name: String#
- version: String#
- versionsuffix: Option<String>#
- easyconfig_path: String#
- build: bool#
- struct MaterializedProfile#
- package: PackageMetadata#
- profile: ProductProfile#
- versionsuffix: String#
- dependencies: Vec<DependencyIntent>#
- rules: Vec<PackageRule>#
- struct PackageMetadata#
- name: String#
- version: String#
- homepage: Option<String>#
- description: Option<String>#
- license: Option<String>#
- struct PackagePlan#
- schema_version: u32#
- origin: PackageOrigin#
- package: PackageMetadata#
- sources: Vec<SourceArtifact>#
- dependencies: Vec<DependencyIntent>#
- rules: Vec<PackageRule>#
- profiles: Vec<ProductProfile>#
- outputs: Vec<OutputRequest>#
Implementations
- impl PackagePlan#
Functions
- fn from_json_str(input: &str) -> Result<Self, PackageError>#
- fn validate_schema(&self) -> Result<(), PackageError>#
- struct PackageRule#
- id: String#
- kind: PackageRuleKind#
- spec: String#
- when: Option<String>#
- condition: ConditionExpr#
- message: Option<String>#
- provenance: Provenance#
- struct ProductProfile#
- name: String#
- default: bool#
- versionsuffix: Vec<String>#
- features: BTreeMap<String, bool>#
- parameters: BTreeMap<String, String>#
- toolchain_options: BTreeMap<String, bool>#
- config_options: Vec<String>#
- verification_commands: Vec<VerificationCommand>#
- struct ProfileEnvironment#
- dependency_features: BTreeMap<String, BTreeMap<String, bool>>#
- compiler: Option<NamedVersion>#
- platform: Option<String>#
- architecture: Option<String>#
- variables: BTreeMap<String, String>#
- struct ProfileLock#
- schema_version: u32#
- package: String#
- version: String#
- profile: String#
- versionsuffix: String#
- dependencies: Vec<LockedDependency>#
- pin_outcomes: Vec<StackPinOutcome>#
- exclusions: Vec<CandidateExclusion>#
- solver: String#
- struct Provenance#
- span: SourceSpan#
- extractor: String#
- original: String#
- confidence: Confidence#
- struct Residual#
- id: String#
- stage: ResidualStage#
- category: String#
- severity: ResidualSeverity#
- summary: String#
- evidence: Option<String>#
- provenance: Option<Provenance>#
- struct SourceArtifact#
- url: Option<String>#
- filename: Option<String>#
- sha256: Option<String>#
- git: Option<String>#
- tag: Option<String>#
- commit: Option<String>#
- target_directory: Option<String>#
- provenance: Vec<Provenance>#
- struct SourceSpan#
- path: String#
- start_line: u32#
- start_column: u32#
- end_line: u32#
- end_column: u32#
- struct StackPin#
- name: String#
- version_requirement: String#
- versionsuffix: Option<String>#
- mode: StackPinMode#
- source: Option<String>#
- struct StackPinOutcome#
- name: String#
- requested: String#
- requested_versionsuffix: Option<String>#
- selected_version: Option<String>#
- selected_versionsuffix: Option<String>#
- fallback: bool#
- fallback_reason: Option<String>#
- struct StackPolicy#
- schema_version: u32#
- name: String#
- exclusions: Vec<CandidateExclusion>#
- struct StackPolicySolve#
-
- pin_outcomes: Vec<StackPinOutcome>#
- exclusions: Vec<CandidateExclusion>#