MCPcopy Create free account
hub / github.com/f0rr0/oliphaunt / package_promoted_extensions

Function package_promoted_extensions

xtask/src/main.rs:8539–8570  ·  view source on GitHub ↗
(
    source: &Path,
    build: &Path,
    stage: &Path,
    outputs: &BuildOutputs,
)

Source from the content-addressed store, hash-verified

8537}
8538
8539fn package_promoted_extensions(
8540 source: &Path,
8541 build: &Path,
8542 stage: &Path,
8543 outputs: &BuildOutputs,
8544) -> Result<Vec<OwnedExtensionPackage>> {
8545 let mut packages = Vec::new();
8546 for extension in extension_catalog::promoted_build_specs()? {
8547 let extension_stage = stage.join("extensions").join(&extension.sql_name);
8548 stage_promoted_extension(source, build, &extension, &extension_stage)?;
8549 let archive_path = Path::new(GENERATED_ASSETS_DIR).join(&extension.archive);
8550 deterministic_tar_zst(&extension_stage, Path::new(""), &archive_path)?;
8551 packages.push(OwnedExtensionPackage {
8552 name: extension.display_name,
8553 sql_name: extension.sql_name.clone(),
8554 archive: extension.archive.clone(),
8555 path: archive_path,
8556 module_path: if extension.module_file.is_some() {
8557 Some(
8558 outputs
8559 .module_path(&format!("extension:{}", extension.sql_name))?
8560 .to_path_buf(),
8561 )
8562 } else {
8563 None
8564 },
8565 native_module: extension.module_file.clone(),
8566 stable: extension.stable,
8567 });
8568 }
8569 Ok(packages)
8570}
8571
8572fn stage_promoted_extension(
8573 source: &Path,

Callers 1

Calls 6

promoted_build_specsFunction · 0.85
stage_promoted_extensionFunction · 0.85
deterministic_tar_zstFunction · 0.85
pushMethod · 0.80
joinMethod · 0.45
module_pathMethod · 0.45

Tested by

no test coverage detected