Skip to content

Commit

Permalink
feat: only save required packages in fixtures
Browse files Browse the repository at this point in the history
  • Loading branch information
louib committed Mar 23, 2024
1 parent b2021e9 commit fe16d02
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 4 deletions.
19 changes: 17 additions & 2 deletions src/bin/create-integration-test.rs
Expand Up @@ -28,11 +28,26 @@ fn main() -> Result<std::process::ExitCode, Box<dyn std::error::Error>> {

let packages = nix2sbom::nix::get_packages(None, args.no_meta)?;

let package_graph = nix2sbom::nix::get_package_graph(&derivations, &packages);
// let package_graph = nix2sbom::nix::get_package_graph_next(&derivations, &packages);
// let package_graph = nix2sbom::nix::get_package_graph(&derivations, &packages);
let package_graph = nix2sbom::nix::get_package_graph_next(&derivations, &packages);

let package_graph_stats = package_graph.get_stats();

let mut required_packages = nix2sbom::nix::Packages::default();
for (derivation_path, derivation) in derivations.iter() {
let derivation_name = match derivation.get_name() {
Some(n) => n,
None => continue,
};
if packages.contains_key(&derivation_name) {
required_packages.insert(
derivation_name.to_string(),
packages.get(&derivation_name).unwrap().clone(),
);
}
}
let packages = required_packages;

let sbom_dump = match nix2sbom::sbom::Format::CycloneDX
.dump(&nix2sbom::sbom::SerializationFormat::JSON, &package_graph)
{
Expand Down
4 changes: 2 additions & 2 deletions src/main.rs
Expand Up @@ -86,8 +86,8 @@ fn main() -> Result<std::process::ExitCode, Box<dyn std::error::Error>> {
log::debug!("Found {} packages in the Nix store", packages.len());

log::info!("Building the package graph");
let package_graph = nix2sbom::nix::get_package_graph(&derivations, &packages);
// let package_graph = nix2sbom::nix::get_package_graph_next(&derivations, &packages);
// let package_graph = nix2sbom::nix::get_package_graph(&derivations, &packages);
let package_graph = nix2sbom::nix::get_package_graph_next(&derivations, &packages);
log::info!("{} nodes in the package graph", package_graph.nodes.len());
log::info!(
"{} root nodes in the package graph",
Expand Down

0 comments on commit fe16d02

Please sign in to comment.