From 401dd2903a848f8503c6b5bffd0000f96d7182a7 Mon Sep 17 00:00:00 2001 From: Giulio Longfils Date: Sat, 21 Feb 2026 18:33:24 +0100 Subject: [PATCH 1/9] refactor(deps): moving all dependencies and plugins versions in properties for both aggregate and spectrum modules to have a clearer sbom --- pom.xml | 129 ++++++++++++++++++++++++++++------------------- spectrum/pom.xml | 22 +++++--- 2 files changed, 93 insertions(+), 58 deletions(-) diff --git a/pom.xml b/pom.xml index 0573d374..f7049588 100644 --- a/pom.xml +++ b/pom.xml @@ -46,13 +46,40 @@ true true - 6.0.3 - 5.21.0 - 2.21.0 - 8.12.6 - 5.0.0 - 2.0.17 - 4.40.0 + 6.0.3 + 5.21.0 + 3.0 + 1.2.1 + 2.21.0 + 8.12.6 + 5.0.0 + 2.0.17 + 4.40.0 + 1.18.42 + 1.0.0 + 10.0.0 + 5.1.2 + 1.5.32 + 2.3.34 + 2.5.2.Final + 1.47.0 + 0.2.5 + 2.5.4 + + 3.5.0 + 3.6.0 + 13.2.0 + 1.44.1 + 3.2.1 + 3.15.0 + 3.4.0 + 3.5.4 + 3.5.4 + 1.5.3 + 3.5.0 + 3.6.2 + 1.7.3 + 5.0.0 @@ -140,167 +167,167 @@ org.projectlombok lombok - 1.18.42 + ${dependency.lombok.version} org.jspecify jspecify - 1.0.0 + ${dependency.jspecify.version} org.junit.jupiter junit-jupiter-api - ${junit.version} + ${dependency.junit.version} org.junit.jupiter junit-jupiter-engine - ${junit.version} + ${dependency.junit.version} org.junit.jupiter junit-jupiter-params - ${junit.version} + ${dependency.junit.version} org.junit.platform junit-platform-launcher - ${junit.version} + ${dependency.junit.version} com.fasterxml.jackson.core jackson-databind - ${jackson.version} + ${dependency.jackson.version} com.fasterxml.jackson.dataformat jackson-dataformat-yaml - ${jackson.version} + ${dependency.jackson.version} com.fasterxml.jackson.dataformat jackson-dataformat-xml - ${jackson.version} + ${dependency.jackson.version} com.fasterxml.jackson.datatype jackson-datatype-jsr310 - ${jackson.version} + ${dependency.jackson.version} org.seleniumhq.selenium selenium-java - ${selenium.version} + ${dependency.selenium.version} org.seleniumhq.selenium selenium-grid - ${selenium.version} + ${dependency.selenium.version} io.appium java-client - 10.0.0 + ${dependency.appium.version} com.aventstack extentreports - 5.1.2 + ${dependency.extent.version} ch.qos.logback logback-classic - 1.5.32 + ${dependency.logback.version} org.slf4j slf4j-api - ${slf4j.version} + ${dependency.slf4j.version} org.slf4j jul-to-slf4j - ${slf4j.version} + ${dependency.slf4j.version} org.freemarker freemarker - 2.3.34 + ${dependency.freemarker.version} org.mvel mvel2 - 2.5.2.Final + ${dependency.mvel.version} com.slack.api slack-api-client - 1.47.0 + ${dependency.slack.version} org.simplejavamail simple-java-mail - ${simplejavamail.version} + ${dependency.simplejavamail.version} org.simplejavamail authenticated-socks-module - ${simplejavamail.version} + ${dependency.simplejavamail.version} org.jcodec jcodec-javase - 0.2.5 + ${dependency.jcodec.version} net.datafaker datafaker - 2.5.4 + ${dependency.datafaker.version} com.github.victools jsonschema-generator - ${jsonschemagenerator.version} + ${dependency.jsonschemagenerator.version} provided com.github.victools jsonschema-module-jackson - ${jsonschemagenerator.version} + ${dependency.jsonschemagenerator.version} provided org.mockito mockito-junit-jupiter - ${mockito.version} + ${dependency.mockito.version} test org.hamcrest hamcrest - 3.0 + ${dependency.hamcrest.version} test com.github.stefanbirkner system-lambda - 1.2.1 + ${dependency.systemlambda.version} test @@ -330,22 +357,22 @@ org.apache.maven.plugins maven-clean-plugin - 3.5.0 + ${plugin.clean.version} org.apache.maven.plugins maven-checkstyle-plugin - 3.6.0 + ${plugin.checkstyle.version} com.puppycrawl.tools checkstyle - 13.2.0 + ${plugin.puppycrawl.version} com.github.sevntu-checkstyle sevntu-checks - 1.44.1 + ${plugin.sevntu.version} @@ -382,7 +409,7 @@ com.diffplug.spotless spotless-maven-plugin - 3.2.1 + ${plugin.spotless.version} @@ -407,7 +434,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.15.0 + ${plugin.compiler.version} 21 UTF-8 @@ -418,7 +445,7 @@ org.apache.maven.plugins maven-resources-plugin - 3.4.0 + ${plugin.resources.version} UTF-8 @@ -426,12 +453,12 @@ org.apache.maven.plugins maven-surefire-plugin - 3.5.4 + ${plugin.surefire.version} @{argLine} -Dfile.encoding=UTF-8 - -javaagent:${settings.localRepository}/org/mockito/mockito-core/${mockito.version}/mockito-core-${mockito.version}.jar + -javaagent:${settings.localRepository}/org/mockito/mockito-core/${dependency.mockito.version}/mockito-core-${dependency.mockito.version}.jar ${reportsDirectory} true @@ -443,7 +470,7 @@ org.apache.maven.plugins maven-failsafe-plugin - 3.5.4 + ${plugin.failsafe.version} -Dfile.encoding=UTF-8 true @@ -459,18 +486,18 @@ com.google.code.maven-replacer-plugin replacer - 1.5.3 + ${plugin.replacer.version} false org.apache.maven.plugins maven-jar-plugin - 3.5.0 + ${plugin.jar.version} com.github.victools jsonschema-maven-plugin - ${jsonschemagenerator.version} + ${plugin.jsonschemagenerator.version} @@ -479,7 +506,7 @@ org.apache.maven.plugins maven-enforcer-plugin - 3.6.2 + ${plugin.enforcer.version} @@ -531,7 +558,7 @@ org.codehaus.mojo flatten-maven-plugin - 1.7.3 + ${plugin.flatten.version} true ossrh diff --git a/spectrum/pom.xml b/spectrum/pom.xml index 72f7bb0a..c63c2074 100644 --- a/spectrum/pom.xml +++ b/spectrum/pom.xml @@ -45,6 +45,14 @@ false false false + + 3.9.12 + + 0.8.14 + 3.4.0 + 3.12.0 + 3.2.8 + 0.10.0 @@ -163,7 +171,7 @@ org.apache.maven maven-model - 3.9.12 + ${dependency.maven-model.version} provided @@ -209,7 +217,7 @@ maven-surefire-plugin @{argLine} - -javaagent:${settings.localRepository}/org/mockito/mockito-core/${mockito.version}/mockito-core-${mockito.version}.jar + -javaagent:${settings.localRepository}/org/mockito/mockito-core/${dependency.mockito.version}/mockito-core-${dependency.mockito.version}.jar --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/sun.nio.fs=ALL-UNNAMED @@ -220,7 +228,7 @@ org.jacoco jacoco-maven-plugin - 0.8.14 + ${plugin.jacoco.version} io/github/giulong/spectrum/pojos/**/* @@ -320,7 +328,7 @@ org.apache.maven.plugins maven-source-plugin - 3.4.0 + ${plugin.source.version} attach-sources @@ -333,7 +341,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.12.0 + ${plugin.javadoc.version} -Xdoclint:none @@ -349,7 +357,7 @@ org.apache.maven.plugins maven-gpg-plugin - 3.2.8 + ${plugin.gpg.version} sign-artifacts @@ -368,7 +376,7 @@ org.sonatype.central central-publishing-maven-plugin - 0.10.0 + ${plugin.central-publishing.version} true central From af4cd72ef9ec00c5ff1fae7b344ff30aa05a3800 Mon Sep 17 00:00:00 2001 From: Giulio Longfils Date: Sat, 21 Feb 2026 18:50:52 +0100 Subject: [PATCH 2/9] refactor: solving json schema deprecation --- .../json_schema/JsonSchemaInternalGeneratorModule.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spectrum/src/main/java/io/github/giulong/spectrum/internals/jackson/json_schema/JsonSchemaInternalGeneratorModule.java b/spectrum/src/main/java/io/github/giulong/spectrum/internals/jackson/json_schema/JsonSchemaInternalGeneratorModule.java index f495e1f1..4c17ac57 100644 --- a/spectrum/src/main/java/io/github/giulong/spectrum/internals/jackson/json_schema/JsonSchemaInternalGeneratorModule.java +++ b/spectrum/src/main/java/io/github/giulong/spectrum/internals/jackson/json_schema/JsonSchemaInternalGeneratorModule.java @@ -15,7 +15,7 @@ import com.github.victools.jsonschema.generator.Module; import com.github.victools.jsonschema.generator.SchemaGenerator; import com.github.victools.jsonschema.generator.SchemaGeneratorConfigBuilder; -import com.github.victools.jsonschema.module.jackson.JacksonModule; +import com.github.victools.jsonschema.module.jackson.JacksonSchemaModule; import com.github.victools.jsonschema.module.jackson.JsonSubTypesResolver; import io.github.giulong.spectrum.interfaces.JsonSchemaTypes; @@ -36,7 +36,7 @@ public void applyToConfigBuilder(final SchemaGeneratorConfigBuilder schemaGenera protected SchemaGeneratorConfigBuilder commonSetupFor(final SchemaGeneratorConfigBuilder schemaGeneratorConfigBuilder) { schemaGeneratorConfigBuilder - .with(new JacksonModule(SKIP_SUBTYPE_LOOKUP, FLATTENED_ENUMS_FROM_JSONVALUE)) + .with(new JacksonSchemaModule(SKIP_SUBTYPE_LOOKUP, FLATTENED_ENUMS_FROM_JSONVALUE)) .with(FORBIDDEN_ADDITIONAL_PROPERTIES_BY_DEFAULT, MAP_VALUES_AS_ADDITIONAL_PROPERTIES, TRANSIENT_FIELDS, From 6583491565d611c2c7a42cb8a3ad313b735b11a0 Mon Sep 17 00:00:00 2001 From: Giulio Longfils Date: Sat, 21 Feb 2026 19:34:29 +0100 Subject: [PATCH 3/9] feat(sbom): introducing cyclonedx plugin to generate sbom.xml --- pom.xml | 6 ++++++ spectrum/pom.xml | 18 ++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/pom.xml b/pom.xml index f7049588..68c09e19 100644 --- a/pom.xml +++ b/pom.xml @@ -80,6 +80,7 @@ 3.6.2 1.7.3 5.0.0 + 2.9.1 @@ -450,6 +451,11 @@ UTF-8 + + org.cyclonedx + cyclonedx-maven-plugin + ${plugin.cyclonedx.version} + org.apache.maven.plugins maven-surefire-plugin diff --git a/spectrum/pom.xml b/spectrum/pom.xml index c63c2074..49e5fc27 100644 --- a/spectrum/pom.xml +++ b/spectrum/pom.xml @@ -314,6 +314,24 @@ + + org.cyclonedx + cyclonedx-maven-plugin + + framework + xml + sbom + false + + + + package + + makeBom + + + + org.apache.maven.plugins maven-jar-plugin From 009f5c95673d0f7895c0f5ad511f7e7c35f4903c Mon Sep 17 00:00:00 2001 From: Giulio Longfils Date: Sat, 21 Feb 2026 22:33:53 +0100 Subject: [PATCH 4/9] docs: publishing sbom.xml in gh pages --- .gitignore | 1 + README.md | 2 ++ pom.xml | 2 +- spectrum/pom.xml | 5 +++-- 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index b1ceda13..cee69f40 100644 --- a/.gitignore +++ b/.gitignore @@ -42,3 +42,4 @@ docs/.jekyll-metadata docs/vendor docs/jacoco docs/apidocs +docs/sbom diff --git a/README.md b/README.md index 61156759..e42686fb 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,8 @@
Full Docs · +SBOMReport Bug · Request Feature diff --git a/pom.xml b/pom.xml index 68c09e19..21a678ed 100644 --- a/pom.xml +++ b/pom.xml @@ -36,7 +36,7 @@ 1.29.3 UTF-8 UTF-8 - docs + ${maven.multiModuleProjectDirectory}/docs ${docs.folder}/jacoco src/main/resources src/test/resources diff --git a/spectrum/pom.xml b/spectrum/pom.xml index 49e5fc27..73424bf4 100644 --- a/spectrum/pom.xml +++ b/spectrum/pom.xml @@ -252,7 +252,7 @@ report - ${project.parent.basedir}/${jacoco.outputDirectory} + ${jacoco.outputDirectory} @@ -319,8 +319,9 @@ cyclonedx-maven-plugin framework - xml + ${docs.folder}/sbom sbom + xml false From 46795cc4a435aaa925b11d4053f4e28f4f4fdd74 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Feb 2026 17:25:29 +0000 Subject: [PATCH 5/9] build(deps): bump org.apache.maven.plugins:maven-failsafe-plugin Bumps [org.apache.maven.plugins:maven-failsafe-plugin](https://github.com/apache/maven-surefire) from 3.5.4 to 3.5.5. - [Release notes](https://github.com/apache/maven-surefire/releases) - [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.5.4...surefire-3.5.5) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-failsafe-plugin dependency-version: 3.5.5 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 21a678ed..4e686750 100644 --- a/pom.xml +++ b/pom.xml @@ -74,7 +74,7 @@ 3.15.0 3.4.0 3.5.4 - 3.5.4 + 3.5.5 1.5.3 3.5.0 3.6.2 From 794ec6b42222be15ab188c8f0d6d41faef5161c8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Feb 2026 17:25:11 +0000 Subject: [PATCH 6/9] build(deps): bump dependency.selenium.version from 4.40.0 to 4.41.0 Bumps `dependency.selenium.version` from 4.40.0 to 4.41.0. Updates `org.seleniumhq.selenium:selenium-java` from 4.40.0 to 4.41.0 - [Release notes](https://github.com/SeleniumHQ/selenium/releases) - [Commits](https://github.com/SeleniumHQ/selenium/compare/selenium-4.40.0...selenium-4.41.0) Updates `org.seleniumhq.selenium:selenium-grid` from 4.40.0 to 4.41.0 - [Release notes](https://github.com/SeleniumHQ/selenium/releases) - [Commits](https://github.com/SeleniumHQ/selenium/compare/selenium-4.40.0...selenium-4.41.0) --- updated-dependencies: - dependency-name: org.seleniumhq.selenium:selenium-java dependency-version: 4.41.0 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.seleniumhq.selenium:selenium-grid dependency-version: 4.41.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 4e686750..b7068d26 100644 --- a/pom.xml +++ b/pom.xml @@ -54,7 +54,7 @@ 8.12.6 5.0.0 2.0.17 - 4.40.0 + 4.41.0 1.18.42 1.0.0 10.0.0 From 2d55604ec457fb6bf37ca64d9f4c23e2a198f734 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Feb 2026 17:24:53 +0000 Subject: [PATCH 7/9] build(deps): bump dependency.jackson.version from 2.21.0 to 2.21.1 Bumps `dependency.jackson.version` from 2.21.0 to 2.21.1. Updates `com.fasterxml.jackson.core:jackson-databind` from 2.21.0 to 2.21.1 - [Commits](https://github.com/FasterXML/jackson/commits) Updates `com.fasterxml.jackson.dataformat:jackson-dataformat-yaml` from 2.21.0 to 2.21.1 - [Commits](https://github.com/FasterXML/jackson-dataformats-text/compare/jackson-dataformats-text-2.21.0...jackson-dataformats-text-2.21.1) Updates `com.fasterxml.jackson.dataformat:jackson-dataformat-xml` from 2.21.0 to 2.21.1 - [Commits](https://github.com/FasterXML/jackson-dataformat-xml/compare/jackson-dataformat-xml-2.21.0...jackson-dataformat-xml-2.21.1) Updates `com.fasterxml.jackson.datatype:jackson-datatype-jsr310` from 2.21.0 to 2.21.1 --- updated-dependencies: - dependency-name: com.fasterxml.jackson.core:jackson-databind dependency-version: 2.21.1 dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: com.fasterxml.jackson.dataformat:jackson-dataformat-yaml dependency-version: 2.21.1 dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: com.fasterxml.jackson.dataformat:jackson-dataformat-xml dependency-version: 2.21.1 dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: com.fasterxml.jackson.datatype:jackson-datatype-jsr310 dependency-version: 2.21.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index b7068d26..0398fd68 100644 --- a/pom.xml +++ b/pom.xml @@ -50,7 +50,7 @@ 5.21.0 3.0 1.2.1 - 2.21.0 + 2.21.1 8.12.6 5.0.0 2.0.17 From 40cbc6b1e36a27797ef4a7c707ca51c74623e82b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Feb 2026 18:01:18 +0000 Subject: [PATCH 8/9] build(deps): bump org.apache.maven.plugins:maven-surefire-plugin Bumps [org.apache.maven.plugins:maven-surefire-plugin](https://github.com/apache/maven-surefire) from 3.5.4 to 3.5.5. - [Release notes](https://github.com/apache/maven-surefire/releases) - [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.5.4...surefire-3.5.5) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-surefire-plugin dependency-version: 3.5.5 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 0398fd68..2a5bd7e1 100644 --- a/pom.xml +++ b/pom.xml @@ -73,7 +73,7 @@ 3.2.1 3.15.0 3.4.0 - 3.5.4 + 3.5.5 3.5.5 1.5.3 3.5.0 From 80f5e116be48a0ed30de3e08ee9090b07bc70a6a Mon Sep 17 00:00:00 2001 From: Giulio Longfils Date: Mon, 23 Feb 2026 22:21:29 +0100 Subject: [PATCH 9/9] feat(sbom): publishing both xml and json sbom for each version --- .gitignore | 2 +- README.md | 2 +- docs/README.md | 8 ++++ docs/_config.yml | 1 + docs/_includes/sboms.html | 36 ++++++++++++++++ docs/_layouts/default.html | 1 + docs/assets/scripts/sboms.js | 79 ++++++++++++++++++++++++++++++++++++ spectrum/pom.xml | 4 +- 8 files changed, 129 insertions(+), 4 deletions(-) create mode 100644 docs/_includes/sboms.html create mode 100644 docs/assets/scripts/sboms.js diff --git a/.gitignore b/.gitignore index cee69f40..eaf9fe99 100644 --- a/.gitignore +++ b/.gitignore @@ -42,4 +42,4 @@ docs/.jekyll-metadata docs/vendor docs/jacoco docs/apidocs -docs/sbom +docs/sboms diff --git a/README.md b/README.md index e42686fb..3988b8ea 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@
Full Docs · -SBOM +SBOM · Report Bug · diff --git a/docs/README.md b/docs/README.md index ada36d67..78c5dbd1 100644 --- a/docs/README.md +++ b/docs/README.md @@ -3801,6 +3801,14 @@ root --- +# SBOM + +Spectrum's Software Bill of Materials is available here: + +{% include sboms.html %} + +--- + # Bugs Report and Feature Requests Found a bug? Want to request a new feature? Just follow these links and provide the requested details: diff --git a/docs/_config.yml b/docs/_config.yml index 4a51663f..2c75d089 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -2,3 +2,4 @@ theme: jekyll-theme-modernist repository_url: https://github.com/giulong/spectrum/blob/main docs_url: https://giulong.github.io/spectrum json_schemas_endpoint: json-schemas/ +sboms_endpoint: sboms/ diff --git a/docs/_includes/sboms.html b/docs/_includes/sboms.html new file mode 100644 index 00000000..65c789a6 --- /dev/null +++ b/docs/_includes/sboms.html @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + +
VersionFull PathCopy URL
+ +
+ Older Versions + + + + + + + + + + +
VersionFull PathCopy URL
+
diff --git a/docs/_layouts/default.html b/docs/_layouts/default.html index 7a858dcc..00188b4e 100644 --- a/docs/_layouts/default.html +++ b/docs/_layouts/default.html @@ -54,5 +54,6 @@ + diff --git a/docs/assets/scripts/sboms.js b/docs/assets/scripts/sboms.js new file mode 100644 index 00000000..a1b062d0 --- /dev/null +++ b/docs/assets/scripts/sboms.js @@ -0,0 +1,79 @@ +--- +--- +const copySbomCodeHtml = ` + + +`; + +(async () => { + fetch('https://api.github.com/repos/giulong/spectrum/contents/docs/sboms') + .then(response => response.json()) + .then(json => json.sort(compareSemanticVersions)) + .then(json => { + const latestJson = json.pop(); + const rows = json + .map(sbom => { + const xmlUrl = "{{ site.docs_url }}/{{ site.sboms_endpoint }}" + sbom.name + "/sbom.xml"; + const xmlVersionColumn = '' + sbom.name + ''; + const xmlFullPathColumn = '' + xmlUrl + ''; + + const jsonUrl = "{{ site.docs_url }}/{{ site.sboms_endpoint }}" + sbom.name + "/sbom.json"; + const jsonVersionColumn = '' + sbom.name + ''; + const jsonFullPathColumn = '' + jsonUrl + ''; + + const copyCodeColumn = '' + copySbomCodeHtml + ''; + + return xmlVersionColumn + xmlFullPathColumn + copyCodeColumn + '' + jsonVersionColumn + jsonFullPathColumn + copyCodeColumn; + }) + .reverse() + .join(''); + + const latestXmlUrl = "{{ site.docs_url }}/{{ site.sboms_endpoint }}" + latestJson.name + "/sbom.xml"; + document.getElementById('latest-sbom-xml-version').innerHTML = '' + latestJson.name + ''; + document.getElementById('latest-sbom-xml-path').innerText = latestXmlUrl; + document.getElementById('latest-sbom-xml-copy-header').innerHTML = copySbomCodeHtml; + + const latestJsonUrl = "{{ site.docs_url }}/{{ site.sboms_endpoint }}" + latestJson.name + "/sbom.json"; + document.getElementById('latest-sbom-json-version').innerHTML = '' + latestJson.name + ''; + document.getElementById('latest-sbom-json-path').innerText = latestJsonUrl; + document.getElementById('latest-sbom-json-copy-header').innerHTML = copySbomCodeHtml; + + document.getElementById('sboms-body').innerHTML = '' + rows + ''; + }) + .catch(error => { + document.getElementById('latest-sbom-xml-version').innerText = 'N/A'; + document.getElementById('latest-sbom-xml-path').innerText = '{{ site.docs_url }}/{{ site.sboms_endpoint }}/sbom.xml'; + document.getElementById('latest-sbom-xml-copy-header').innerHTML = copySbomCodeHtml; + + document.getElementById('latest-sbom-json-version').innerText = 'N/A'; + document.getElementById('latest-sbom-json-path').innerText = '{{ site.docs_url }}/{{ site.sboms_endpoint }}/sbom.json'; + document.getElementById('latest-sbom-json-copy-header').innerHTML = copySbomCodeHtml; + }) + .finally(() => { + const sbomHeaders = document.querySelectorAll('.sbom-copy-header'); + const sbomButtons = document.querySelectorAll('.sbom-copy-button'); + sbomButtons.forEach((copyButton, index) => { + try { + const url = sbomHeaders[index].parentElement.previousElementSibling.textContent; + copyButton.addEventListener('click', () => { + window.navigator.clipboard.writeText(url); + const copyText = copyButton.querySelector('.sbom-copy-text'); + const copyIcon = copyButton.querySelector('.copy-icon'); + + copyText.style.display = 'inline'; + copyIcon.src = 'assets/images/check.png'; + + setTimeout(() => { + copyText.style.display = 'none'; + copyIcon.src = 'assets/images/copy.png'; + }, 2000); + }); + } catch (error) { + console.error(error); + } + }); + }); +})() diff --git a/spectrum/pom.xml b/spectrum/pom.xml index 73424bf4..6491ff96 100644 --- a/spectrum/pom.xml +++ b/spectrum/pom.xml @@ -319,9 +319,9 @@ cyclonedx-maven-plugin framework - ${docs.folder}/sbom + ${docs.folder}/sboms/${revision} sbom - xml + all false