From 7dc95f92fa637beae75b28ce4854bdc4be6b11fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Br=C3=A1zdil?= Date: Mon, 3 Feb 2025 11:23:22 +0100 Subject: [PATCH] fix(SBOMER-321): Normalize deliverables URL in operation generation --- .../command/CycloneDxGenerateOperationCommand.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/cli/src/main/java/org/jboss/sbomer/cli/feature/sbom/command/CycloneDxGenerateOperationCommand.java b/cli/src/main/java/org/jboss/sbomer/cli/feature/sbom/command/CycloneDxGenerateOperationCommand.java index d82929ad9..6679c6fe5 100644 --- a/cli/src/main/java/org/jboss/sbomer/cli/feature/sbom/command/CycloneDxGenerateOperationCommand.java +++ b/cli/src/main/java/org/jboss/sbomer/cli/feature/sbom/command/CycloneDxGenerateOperationCommand.java @@ -18,6 +18,7 @@ package org.jboss.sbomer.cli.feature.sbom.command; import java.io.IOException; +import java.net.MalformedURLException; import java.net.URI; import java.nio.file.Files; import java.nio.file.Path; @@ -111,7 +112,15 @@ protected Path doGenerate() { throw new ApplicationException("Unable to create a new Bom"); } - String deliverableUrl = config.getDeliverableUrls().get(getParent().getIndex()); + String deliverableUrl; + try { + String url = config.getDeliverableUrls().get(getParent().getIndex()); + deliverableUrl = URI.create(url).normalize().toURL().toString(); + } catch (MalformedURLException e) { + String url = config.getDeliverableUrls().get(getParent().getIndex()); + throw new ApplicationException("Could not parse deliverable URL " + url, e); + } + log.info( "Generating CycloneDX compliant SBOM for the deliverable: {}, with index: {}, with the provided config: {}", deliverableUrl,