Skip to content

Commit

Permalink
Refactor depsToBuild profile to sbom and generate SBOMs with appropri…
Browse files Browse the repository at this point in the history
…ate file names
  • Loading branch information
aloubyansky committed Mar 9, 2023
1 parent 44fcf9f commit 181d001
Show file tree
Hide file tree
Showing 3 changed files with 219 additions and 4 deletions.
1 change: 1 addition & 0 deletions generated-platform-project/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
<module>quarkus-operator-sdk</module>
<module>quarkus-maven-plugin</module>
<module>quarkus-dependencies-to-build</module>
<module>quarkus-sbom</module>
</modules>
<properties>
<platform.key>io.quarkus.platform</platform.key>
Expand Down
213 changes: 213 additions & 0 deletions generated-platform-project/quarkus-sbom/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,213 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>io.quarkus.platform</groupId>
<artifactId>quarkus-platform-parent</artifactId>
<version>999-SNAPSHOT</version>
<relativePath>..</relativePath>
</parent>
<artifactId>quarkus-sbom</artifactId>
<packaging>pom</packaging>
<name>Quarkus Platform - Quarkus Sbom</name>
<properties>
<gpg.skip>true</gpg.skip>
</properties>
<build>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-install-plugin</artifactId>
<executions>
<execution>
<id>default-install</id>
<phase>none</phase>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<executions>
<execution>
<id>default-deploy</id>
<phase>none</phase>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-platform-bom-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>sbom</id>
<activation>
<property>
<name>sbom</name>
</property>
</activation>
<build>
<defaultGoal>quarkus-platform-bom:dependencies-to-build@quarkus-bom quarkus-platform-bom:dependencies-to-build@quarkus-drools-bom quarkus-platform-bom:dependencies-to-build@quarkus-optaplanner-bom quarkus-platform-bom:dependencies-to-build@quarkus-kogito-bom quarkus-platform-bom:dependencies-to-build@quarkus-qpid-jms-bom quarkus-platform-bom:dependencies-to-build@quarkus-cassandra-bom quarkus-platform-bom:dependencies-to-build@quarkus-amazon-services-bom quarkus-platform-bom:dependencies-to-build@quarkus-camel-bom quarkus-platform-bom:dependencies-to-build@quarkus-hazelcast-client quarkus-platform-bom:dependencies-to-build@quarkus-debezium-bom quarkus-platform-bom:dependencies-to-build@quarkus-blaze-persistence-bom quarkus-platform-bom:dependencies-to-build@quarkus-google-cloud-services-bom quarkus-platform-bom:dependencies-to-build@quarkus-operator-sdk-bom </defaultGoal>
<pluginManagement>
<plugins>
<plugin>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-platform-bom-maven-plugin</artifactId>
<executions>
<execution>
<id>quarkus-bom</id>
<phase>process-resources</phase>
<goals>
<goal>dependencies-to-build</goal>
</goals>
<configuration>
<bom>io.quarkus.platform:quarkus-bom:${project.version}</bom>
<outputFile>../../target/sbom/quarkus-bom-sbom.json</outputFile>
</configuration>
</execution>
<execution>
<id>quarkus-drools-bom</id>
<phase>process-resources</phase>
<goals>
<goal>dependencies-to-build</goal>
</goals>
<configuration>
<bom>io.quarkus.platform:quarkus-drools-bom:${project.version}</bom>
<outputFile>../../target/sbom/quarkus-drools-bom-sbom.json</outputFile>
</configuration>
</execution>
<execution>
<id>quarkus-optaplanner-bom</id>
<phase>process-resources</phase>
<goals>
<goal>dependencies-to-build</goal>
</goals>
<configuration>
<bom>io.quarkus.platform:quarkus-optaplanner-bom:${project.version}</bom>
<outputFile>../../target/sbom/quarkus-optaplanner-bom-sbom.json</outputFile>
</configuration>
</execution>
<execution>
<id>quarkus-kogito-bom</id>
<phase>process-resources</phase>
<goals>
<goal>dependencies-to-build</goal>
</goals>
<configuration>
<bom>io.quarkus.platform:quarkus-kogito-bom:${project.version}</bom>
<outputFile>../../target/sbom/quarkus-kogito-bom-sbom.json</outputFile>
</configuration>
</execution>
<execution>
<id>quarkus-qpid-jms-bom</id>
<phase>process-resources</phase>
<goals>
<goal>dependencies-to-build</goal>
</goals>
<configuration>
<bom>io.quarkus.platform:quarkus-qpid-jms-bom:${project.version}</bom>
<outputFile>../../target/sbom/quarkus-qpid-jms-bom-sbom.json</outputFile>
</configuration>
</execution>
<execution>
<id>quarkus-cassandra-bom</id>
<phase>process-resources</phase>
<goals>
<goal>dependencies-to-build</goal>
</goals>
<configuration>
<bom>io.quarkus.platform:quarkus-cassandra-bom:${project.version}</bom>
<outputFile>../../target/sbom/quarkus-cassandra-bom-sbom.json</outputFile>
</configuration>
</execution>
<execution>
<id>quarkus-amazon-services-bom</id>
<phase>process-resources</phase>
<goals>
<goal>dependencies-to-build</goal>
</goals>
<configuration>
<bom>io.quarkus.platform:quarkus-amazon-services-bom:${project.version}</bom>
<outputFile>../../target/sbom/quarkus-amazon-services-bom-sbom.json</outputFile>
</configuration>
</execution>
<execution>
<id>quarkus-camel-bom</id>
<phase>process-resources</phase>
<goals>
<goal>dependencies-to-build</goal>
</goals>
<configuration>
<bom>io.quarkus.platform:quarkus-camel-bom:${project.version}</bom>
<outputFile>../../target/sbom/quarkus-camel-bom-sbom.json</outputFile>
</configuration>
</execution>
<execution>
<id>quarkus-hazelcast-client</id>
<phase>process-resources</phase>
<goals>
<goal>dependencies-to-build</goal>
</goals>
<configuration>
<bom>io.quarkus.platform:quarkus-hazelcast-client:${project.version}</bom>
<outputFile>../../target/sbom/quarkus-hazelcast-client-sbom.json</outputFile>
</configuration>
</execution>
<execution>
<id>quarkus-debezium-bom</id>
<phase>process-resources</phase>
<goals>
<goal>dependencies-to-build</goal>
</goals>
<configuration>
<bom>io.quarkus.platform:quarkus-debezium-bom:${project.version}</bom>
<outputFile>../../target/sbom/quarkus-debezium-bom-sbom.json</outputFile>
</configuration>
</execution>
<execution>
<id>quarkus-blaze-persistence-bom</id>
<phase>process-resources</phase>
<goals>
<goal>dependencies-to-build</goal>
</goals>
<configuration>
<bom>io.quarkus.platform:quarkus-blaze-persistence-bom:${project.version}</bom>
<outputFile>../../target/sbom/quarkus-blaze-persistence-bom-sbom.json</outputFile>
</configuration>
</execution>
<execution>
<id>quarkus-google-cloud-services-bom</id>
<phase>process-resources</phase>
<goals>
<goal>dependencies-to-build</goal>
</goals>
<configuration>
<bom>io.quarkus.platform:quarkus-google-cloud-services-bom:${project.version}</bom>
<outputFile>../../target/sbom/quarkus-google-cloud-services-bom-sbom.json</outputFile>
</configuration>
</execution>
<execution>
<id>quarkus-operator-sdk-bom</id>
<phase>process-resources</phase>
<goals>
<goal>dependencies-to-build</goal>
</goals>
<configuration>
<bom>io.quarkus.platform:quarkus-operator-sdk-bom:${project.version}</bom>
<outputFile>../../target/sbom/quarkus-operator-sdk-bom-sbom.json</outputFile>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
</profiles>
</project>
9 changes: 5 additions & 4 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@
<quarkus-vault.version>2.1.0</quarkus-vault.version>
<quarkus-operator-sdk.version>5.1.1</quarkus-operator-sdk.version>

<quarkus-platform-bom-generator.version>0.0.76</quarkus-platform-bom-generator.version>
<quarkus-platform-bom-generator.version>0.0.80</quarkus-platform-bom-generator.version>
<build-helper-maven-plugin.version>3.1.0</build-helper-maven-plugin.version>
<maven-plugin-plugin.version>3.6.1</maven-plugin-plugin.version>
<useReleaseProfile>true</useReleaseProfile>
Expand Down Expand Up @@ -836,13 +836,13 @@
<!--
| This profile enables SBOM generation for each platform member.
| This is still a work in progress.
| The SBOMs can be found under target/dependencies-to-build directory.
| The SBOMs can be found under target/sbom directory.
-->
<profile>
<id>depsToBuild</id>
<id>sbom</id>
<activation>
<property>
<name>depsToBuild</name>
<name>sbom</name>
</property>
</activation>
<build>
Expand All @@ -856,6 +856,7 @@
<manifest>true</manifest>
<includeNonManaged>true</includeNonManaged>
<excludeParentPoms>true</excludeParentPoms>
<legacyScmLocator>true</legacyScmLocator>
</configuration>
</plugin>
</plugins>
Expand Down

0 comments on commit 181d001

Please sign in to comment.