mod package_workflow#

module package_workflow#

Canonical foreign-package planning bundle: manifest, SBOM, locks, recipes.

Functions

fn inspect_new_package(source: &Path, format: Option<ForeignFormat>, toolchain: &Toolchain, profile_layers: &[ProfileConfigLayer]) -> Result<(PackagePlan, Value), PackageWorkflowError>#
fn plan_new_package(request: &NewPackageRequest) -> Result<PackageBundle, PackageWorkflowError>#
fn plan_package_bump(request: &BumpPackageRequest) -> Result<PackageBundle, PackageWorkflowError>#
fn write_package_bundle(bundle: &PackageBundle, output_directory: &Path) -> Result<WrittenPackageBundle, PackageWorkflowError>#

Enums

enum PackageWorkflowError#
Foreign(String)#
EasyBuild(String)#
Config(String)#
Sbom(String)#
NoEasyconfigRoots#
NoSourceArtifacts#
SourceChecksumCount#
expected: usize#
actual: usize#
InvalidSourceChecksum#
index: usize#
checksum: String#
MissingSourceChecksums(Vec<usize>)#
Robot(String)#
Solve(String)#
Emit(String)#
Io(PathBuf, std::io::Error)#
Json(PathBuf, serde_json::Error)#

Structs and Unions

struct BumpPackageRequest#
source: PathBuf#
toolchain: Toolchain#
version: Option<String>#
source_checksum: Option<String>#
easyconfig_roots: Vec<PathBuf>#
hierarchy_fixture: Option<PathBuf>#
overrides: HashMap<String, String>#
stack_policy: StackPolicy#
struct NewPackageRequest#
source: PathBuf#
format: Option<ForeignFormat>#
toolchain: Toolchain#
source_checksums: Vec<String>#

Positional SHA-256 overrides, one for every canonical source artifact.

profile_layers: Vec<ProfileConfigLayer>#
easyconfig_roots: Vec<PathBuf>#
stack_policy: StackPolicy#
struct PackageBundle#
plan: PackagePlan#
sbom: Value#
locks: Vec<ProfileLock>#
easyconfigs: Vec<EmittedEasyconfig>#
struct WrittenPackageBundle#
manifest: PathBuf#
sbom: PathBuf#
locks: Vec<PathBuf>#
easyconfigs: Vec<PathBuf>#