<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <groupId>org.jboss</groupId>
        <artifactId>jboss-parent</artifactId>
        <version>36</version>
    </parent>

    <modelVersion>4.0.0</modelVersion>

    <groupId>io.quarkus.platform</groupId>
    <artifactId>quarkus-platform-config</artifactId>
    <name>Quarkus Platform - Configuration pom</name>
    <version>2.9.2.Final</version>
    <packaging>pom</packaging>
    <description>Quarkus Universe platform aggregates extensions from Quarkus Core and those developed by the community into a single compatible and versioned set that application developers can reference from their applications to align the dependency versions</description>
    <url>https://github.com/quarkusio/quarkus-platform</url>

    <developers>
        <developer>
            <id>quarkus</id>
            <name>Quarkus Community</name>
            <organization>Quarkus</organization>
            <organizationUrl>https://quarkus.io</organizationUrl>
        </developer>
    </developers>

    <licenses>
        <license>
            <name>The Apache Software License, Version 2.0</name>
            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
            <distribution>repo</distribution>
        </license>
    </licenses>

    <scm>
        <url>https://github.com/quarkusio/quarkus-platform</url>
        <connection>scm:git:git@github.com:quarkusio/quarkus-platform.git</connection>
        <developerConnection>scm:git:git@github.com:quarkusio/quarkus-platform.git</developerConnection>
        <tag>2.9.2.Final</tag>
    </scm>

    <issueManagement>
        <system>GitHub</system>
        <url>https://github.com/quarkusio/quarkus/issues/</url>
    </issueManagement>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.target>11</maven.compiler.target>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.release>11</maven.compiler.release>
        <maven.compiler.parameters>true</maven.compiler.parameters>

        <graalvmHome>${env.GRAALVM_HOME}</graalvmHome>
        <postgres.url>jdbc:postgresql:hibernate_orm_test</postgres.url>

        <quarkus.version>2.9.2.Final</quarkus.version>
        <quarkus-bom.version>${quarkus.version}</quarkus-bom.version>

        <camel-quarkus.version>2.9.0</camel-quarkus.version>

        <!-- If you made changes to the integration tests pom of Amazon Services,
             make sure you have a look at the AmazonServices member section below
             and also at src/main/resources/xslt/amazon-services/test-pom.xsl
             as they might require adjustments. -->
        <quarkus-amazon-services.version>1.1.1</quarkus-amazon-services.version>
        <quarkus-config-consul.version>1.0.2</quarkus-config-consul.version>
        <quarkus-qpid-jms.version>0.34.0</quarkus-qpid-jms.version>
        <quarkus-hazelcast-client.version>3.0.0</quarkus-hazelcast-client.version>
        <debezium-quarkus-outbox.version>1.9.2.Final</debezium-quarkus-outbox.version>
        <quarkus-blaze-persistence.version>1.6.6</quarkus-blaze-persistence.version>
        <quarkus-cassandra-client.version>1.1.2</quarkus-cassandra-client.version>

        <kogito-quarkus.version>1.21.0.Final</kogito-quarkus.version>
        <optaplanner-quarkus.version>8.21.0.Final</optaplanner-quarkus.version>

        <quarkus-google-cloud-services.version>1.1.0</quarkus-google-cloud-services.version>
        <quarkus-vault.version>1.1.0</quarkus-vault.version>

        <quarkus-platform-bom-generator.version>0.0.49</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>

        <!-- the group-id (and the platform key) for the generated platform artifacts -->
        <platform.groupId>${project.groupId}</platform.groupId>
        <platform.version>${project.version}</platform.version>

        <!-- descriptor overrides -->
        <resourcesdir>${project.basedir}/src/main/resources</resourcesdir>
        <overridesfile>${resourcesdir}/extensions-overrides.json</overridesfile>
    </properties>

    <distributionManagement>
        <snapshotRepository>
            <id>sonatype-nexus-snapshots</id>
            <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
        </snapshotRepository>
        <repository>
            <id>sonatype-nexus-release</id>
            <url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/</url>
        </repository>
    </distributionManagement>

    <build>
        <extensions>
            <extension>
                <groupId>io.quarkus.bot</groupId>
                <artifactId>build-reporting-maven-extension</artifactId>
                <version>1.0.5</version>
            </extension>
        </extensions>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>build-helper-maven-plugin</artifactId>
                    <version>${build-helper-maven-plugin.version}</version>
                </plugin>
                <plugin>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <configuration>
                        <systemProperties>
                            <java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager>
                        </systemProperties>
                        <excludedGroups>quarkus-platform-ignore</excludedGroups>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-failsafe-plugin</artifactId>
                    <configuration>
                        <excludedGroups>quarkus-platform-ignore</excludedGroups>
                        <systemProperties>
                            <java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager>
                        </systemProperties>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-plugin-plugin</artifactId>
                    <version>${maven-plugin-plugin.version}</version>
                </plugin>
                <plugin>
                    <groupId>io.quarkus</groupId>
                    <artifactId>quarkus-platform-bom-maven-plugin</artifactId>
                    <version>${quarkus-platform-bom-generator.version}</version>
                </plugin>
            </plugins>
        </pluginManagement>
        <plugins>
            <plugin>
                <groupId>io.quarkus</groupId>
                <artifactId>quarkus-platform-bom-maven-plugin</artifactId>
                <inherited>false</inherited>
                <extensions>true</extensions>
                <executions>
                    <execution>
                        <id>generate-platform-project</id>
                        <phase>process-resources</phase>
                        <goals>
                            <goal>generate-platform-project</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>build-platform-project</id>
                        <phase>process-resources</phase>
                        <goals>
                            <goal>invoke-platform-project</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <platformConfig>
                        <!-- the platform release info -->
                        <release>
                            <!-- the platform (dev stack) key (if not specified, defaults to the root project's groudId) -->
                            <platformKey>${platform.groupId}</platformKey>
                            <!--
                                | platform stream id, representing the flow of backward compatible releases (if not specified, defaults to the project's major.minor platform version)
                            -->
                            <!-- stream>2.0</stream -->
                            <!-- platform release  version, must be unique in the scope of the stream, (if not specified, defaults to the platform version) -->
                            <version>${platform.version}</version>
                        </release>
                        <!-- Universal / all-inclusive platform -->
                        <universal>
                            <!-- coordinates of the generated all-inclusive platform BOM -->
                            <bom>io.quarkus:quarkus-universe-bom:${project.version}</bom>
                            <!-- whether to skip installation of the all-inclusive platform BOM -->
                            <skipInstall>false</skipInstall>
                        </universal>
                        <!-- Quarkus core -->
                        <core>
                            <name>Core</name>
                            <bom>io.quarkus:quarkus-bom:${quarkus-bom.version}</bom>
                            <dependencyManagement>
                                <!-- Extra constraints -->
                                <!-- Consul config -->
                                <dependency>io.quarkiverse.config:quarkus-config-consul:${quarkus-config-consul.version}</dependency>
                                <dependency>io.quarkiverse.config:quarkus-config-consul-deployment:${quarkus-config-consul.version}</dependency>
                                <!-- Vault -->
                                <dependency>io.quarkiverse.vault:quarkus-vault:${quarkus-vault.version}</dependency>
                                <dependency>io.quarkiverse.vault:quarkus-vault-deployment:${quarkus-vault.version}</dependency>
                                <dependency>io.quarkiverse.vault:quarkus-vault-model:${quarkus-vault.version}</dependency>
                            </dependencyManagement>
                            <extensionGroupIds>
                                <groupId>io.quarkus</groupId>
                                <groupId>io.quarkiverse.config</groupId>
                                <groupId>io.quarkiverse.vault</groupId>
                            </extensionGroupIds>
                            <release>
                                <lastDetectedBomUpdate>io.quarkus.platform:quarkus-bom:2.9.2.Final</lastDetectedBomUpdate>
                                <next>${platform.groupId}:quarkus-bom:${platform.version}</next>
                            </release>
                            <tests>
                                <test>
                                    <artifact>io.quarkiverse.config:quarkus-config-extensions-integration-test-consul:${quarkus-config-consul.version}</artifact>
                                </test>
                                <test>
                                    <artifact>io.quarkiverse.vault:quarkus-vault-integration-test:${quarkus-vault.version}</artifact>
                                    <mavenFailsafePlugin>true</mavenFailsafePlugin>
                                    <copyTasks>
                                        <copy>
                                            <src>src/main/resources/core/test/resources/vault/vault-tls.crt</src>
                                            <destination>generated-platform-project/quarkus/integration-tests/quarkus-vault-integration-test/src/test/resources/vault-tls.crt</destination>
                                        </copy>
                                    </copyTasks>
                                </test>
                                <test>
                                    <artifact>io.quarkiverse.vault:quarkus-vault-integration-test-agroal:${quarkus-vault.version}</artifact>
                                    <mavenFailsafePlugin>true</mavenFailsafePlugin>
                                </test>
                                <test>
                                    <skip>true</skip>
                                    <artifact>io.quarkiverse.vault:quarkus-vault-integration-test-app:${quarkus-vault.version}</artifact>
                                    <systemProperties>
                                        <vault-test-extension.use-tls>false</vault-test-extension.use-tls>
                                    </systemProperties>
                                </test>
                            </tests>
                        </core>
                        <!-- Platform members -->
                        <members>
                            <member>
                                <name>OptaPlanner</name>
                                <bom>org.optaplanner:optaplanner-build-parent:${optaplanner-quarkus.version}</bom>
                                <enabled>true</enabled>
                                <release>
                                    <lastDetectedBomUpdate>io.quarkus.platform:quarkus-optaplanner-bom:2.9.0.Final</lastDetectedBomUpdate>
                                    <next>${platform.groupId}:quarkus-optaplanner-bom:${platform.version}</next>
                                </release>
                                <defaultTestConfig>
                                    <skip>false</skip>
                                </defaultTestConfig>
                                <tests>
                                    <test>
                                        <artifact>org.optaplanner:optaplanner-quarkus-integration-test:${optaplanner-quarkus.version}</artifact>
                                    </test>
                                    <test>
                                        <artifact>org.optaplanner:optaplanner-quarkus-drl-integration-test:${optaplanner-quarkus.version}</artifact>
                                    </test>
                                    <test>
                                        <artifact>org.optaplanner:optaplanner-quarkus-devui-integration-test:${optaplanner-quarkus.version}</artifact>
                                    </test>
                                    <test>
                                        <artifact>org.optaplanner:optaplanner-quarkus-jackson-integration-test:${optaplanner-quarkus.version}</artifact>
                                    </test>
                                    <test>
                                        <artifact>org.optaplanner:optaplanner-quarkus-jsonb-integration-test:${optaplanner-quarkus.version}</artifact>
                                    </test>
                                </tests>
                            </member>
                            <member>
                                <name>Kogito</name>
                                <bom>org.kie.kogito:kogito-bom:${kogito-quarkus.version}</bom>
                                <enabled>true</enabled>
                                <release>
                                    <lastDetectedBomUpdate>io.quarkus.platform:quarkus-kogito-bom:2.9.0.Final</lastDetectedBomUpdate>
                                    <next>${platform.groupId}:quarkus-kogito-bom:${platform.version}</next>
                                </release>
                                <defaultTestConfig>
                                    <skip>false</skip>
                                    <mavenFailsafePlugin>true</mavenFailsafePlugin>
                                    <jvmExcludes>
                                        <exclude>**/Native*</exclude>
                                    </jvmExcludes>
                                    <systemProperties>
                                        <!-- Need to keep in sync with ${kogito-quarkus.version} -->
                                        <container.image.infinispan>infinispan/server:13.0.2.Final</container.image.infinispan>
                                        <container.image.kafka>vectorized/redpanda:v21.11.8</container.image.kafka>
                                        <container.image.wurstmeister.kafka>wurstmeister/kafka:2.12-2.2.1</container.image.wurstmeister.kafka>
                                        <container.image.keycloak>jboss/keycloak:14.0.0</container.image.keycloak>
                                        <!-- some dev tools tests need the following properties -->
                                        <!--maven.home>$${maven.home}</maven.home-->
                                        <maven.repo.local>$${settings.localRepository}</maven.repo.local>
                                        <maven.settings>$${session.request.userSettingsFile.path}</maven.settings>
                                        <project.version>${project.version}</project.version>
                                        <project.groupId>${project.groupId}</project.groupId>
                                    </systemProperties>
                                </defaultTestConfig>
                                <testCatalogArtifact>org.kie.kogito:kogito-quarkus-test-list::xml:${kogito-quarkus.version}</testCatalogArtifact>
                                <tests>
                                    <test>
                                        <excluded>true</excluded>
                                        <artifact>org.kie.kogito:kogito-quarkus-rules-integration-test-session:${kogito-quarkus.version}</artifact>
                                    </test>
                                    <test>
                                        <excluded>true</excluded>
                                        <packageApplication>true</packageApplication>
                                        <artifact>org.kie.kogito:kogito-quarkus-decisions-integration-test:${kogito-quarkus.version}</artifact>
                                    </test>
                                    <test>
                                        <excluded>true</excluded>
                                        <artifact>org.kie.kogito:integration-tests-quarkus-processes-infinispan:${kogito-quarkus.version}</artifact>
                                    </test>
                                    <test>
                                        <excluded>true</excluded>
                                        <packageApplication>true</packageApplication>
                                        <artifact>org.kie.kogito:kogito-quarkus-serverless-workflow-integration-test:${kogito-quarkus.version}</artifact>
                                    </test>
                                </tests>
                            </member>
                            <member>
                                <name>QpidJMS</name>
                                <bom>org.amqphub.quarkus:quarkus-qpid-jms-bom:${quarkus-qpid-jms.version}</bom>
                                <enabled>true</enabled>
                                <release>
                                    <lastDetectedBomUpdate>io.quarkus.platform:quarkus-qpid-jms-bom:2.9.0.Final</lastDetectedBomUpdate>
                                    <next>${platform.groupId}:quarkus-qpid-jms-bom:${platform.version}</next>
                                </release>
                                <tests>
                                    <test>
                                        <artifact>org.amqphub.quarkus:quarkus-qpid-jms-integration-tests:${quarkus-qpid-jms.version}</artifact>
                                    </test>
                                </tests>
                            </member>
                            <member>
                                <name>Cassandra</name>
                                <bom>com.datastax.oss.quarkus:cassandra-quarkus-bom:${quarkus-cassandra-client.version}</bom>
                                <ownGroupIds>
                                    <groupId>com.datastax.oss</groupId>
                                    <groupId>com.datastax.oss.quarkus</groupId>
                                </ownGroupIds>
                                <enabled>true</enabled>
                                <release>
                                    <lastDetectedBomUpdate>io.quarkus.platform:quarkus-cassandra-bom:2.8.0.CR1</lastDetectedBomUpdate>
                                    <next>${platform.groupId}:quarkus-cassandra-bom:${platform.version}</next>
                                </release>
                                <defaultTestConfig>
                                    <skip>true</skip>
                                    <mavenFailsafePlugin>true</mavenFailsafePlugin>
                                    <groups>!native</groups>
                                    <nativeGroups>native</nativeGroups>
                                </defaultTestConfig>
                                <tests>
                                    <test>
                                        <artifact>com.datastax.oss.quarkus:cassandra-quarkus-integration-tests-main:${quarkus-cassandra-client.version}</artifact>
                                    </test>
                                    <test>
                                        <artifact>com.datastax.oss.quarkus:cassandra-quarkus-integration-tests-metrics-disabled:${quarkus-cassandra-client.version}</artifact>
                                    </test>
                                    <test>
                                        <artifact>com.datastax.oss.quarkus:cassandra-quarkus-integration-tests-metrics-microprofile:${quarkus-cassandra-client.version}</artifact>
                                    </test>
                                    <test>
                                        <artifact>com.datastax.oss.quarkus:cassandra-quarkus-integration-tests-no-mapper:${quarkus-cassandra-client.version}</artifact>
                                    </test>
                                    <test>
                                        <artifact>com.datastax.oss.quarkus:cassandra-quarkus-integration-tests-dse:${quarkus-cassandra-client.version}</artifact>
                                    </test>
                                </tests>
                            </member>
                            <member>
                                <name>AmazonServices</name>
                                <bom>io.quarkiverse.amazonservices:quarkus-amazon-services-bom:${quarkus-amazon-services.version}</bom>
                                <release>
                                    <lastDetectedBomUpdate>io.quarkus.platform:quarkus-amazon-services-bom:2.9.0.CR1</lastDetectedBomUpdate>
                                    <next>${platform.groupId}:quarkus-amazon-services-bom:${platform.version}</next>
                                </release>
                                <defaultTestConfig>
                                    <systemProperties>
                                        <dynamodb.url>http://localhost:4566</dynamodb.url>
                                        <s3.url>http://localhost:4566</s3.url>
                                        <sns.url>http://localhost:4566</sns.url>
                                        <sqs.url>http://localhost:4566</sqs.url>
                                        <kms.url>http://localhost:4566</kms.url>
                                        <ses.url>http://localhost:4566</ses.url>
                                        <iam.url>http://localhost:4566</iam.url>
                                        <ssm.url>http://localhost:4566</ssm.url>
                                        <secretsmanager.url>http://localhost:4566</secretsmanager.url>
                                        <cognitoidentity.url>http://localhost:5000</cognitoidentity.url>
                                    </systemProperties>
                                    <transformWith>${resourcesdir}/xslt/amazon-services/test-pom.xsl</transformWith>
                                </defaultTestConfig>
                                <tests>
                                    <test>
                                        <artifact>io.quarkiverse.amazonservices:quarkus-amazon-services-integration-tests:${quarkus-amazon-services.version}</artifact>
                                    </test>
                                </tests>
                            </member>
                            <member>
                                <name>Camel</name>
                                <bom>org.apache.camel.quarkus:camel-quarkus-bom:${camel-quarkus.version}</bom>
                                <enabled>true</enabled>
                                <release>
                                    <lastDetectedBomUpdate>io.quarkus.platform:quarkus-camel-bom:2.9.1.Final</lastDetectedBomUpdate>
                                    <next>${platform.groupId}:quarkus-camel-bom:${platform.version}</next>
                                </release>
                                <defaultTestConfig>
                                    <skip>false</skip>
                                    <jvmSystemProperties>
                                        <quarkus.http.test-port>$${test.http.port.jvm}</quarkus.http.test-port>
                                        <quarkus.http.test-ssl-port>$${test.https.port.jvm}</quarkus.http.test-ssl-port>
                                        <!-- https://github.com/quarkusio/quarkus/issues/20228  -->
                                        <quarkus.https.test-port>$${test.https.port.jvm}</quarkus.https.test-port>
                                    </jvmSystemProperties>
                                    <nativeSystemProperties>
                                        <quarkus.http.test-port>$${test.http.port.native}</quarkus.http.test-port>
                                        <quarkus.http.test-ssl-port>$${test.https.port.native}</quarkus.http.test-ssl-port>
                                        <!-- https://github.com/quarkusio/quarkus/issues/20228  -->
                                        <quarkus.https.test-port>$${test.https.port.native}</quarkus.https.test-port>
                                    </nativeSystemProperties>
                                    <transformWith>${resourcesdir}/xslt/camel/test-pom.xsl</transformWith>
                                </defaultTestConfig>
                                <testCatalogArtifact>org.apache.camel.quarkus:camel-quarkus-test-list::xml:${camel-quarkus.version}</testCatalogArtifact>
                                <tests>
                                    <test><!-- Workaround cassandraql itests failing on quarkus-platform https://github.com/apache/camel-quarkus/issues/3621 -->
                                        <skip>true</skip>
                                        <artifact>org.apache.camel.quarkus:camel-quarkus-integration-test-cassandraql:${camel-quarkus.version}</artifact>
                                    </test>
                                    <test><!-- Workaround for incompatibility with Quarkus 999-SNAPSHOT and CQ <= 2.9.0 -->
                                        <skip>true</skip>
                                        <artifact>org.apache.camel.quarkus:camel-quarkus-integration-test-csimple:${camel-quarkus.version}</artifact>
                                    </test>
                                    <test><!-- Workaround for weird issue with shared networking & keycloak container -->
                                        <skip>true</skip>
                                        <artifact>org.apache.camel.quarkus:camel-quarkus-integration-test-kafka-oauth:${camel-quarkus.version}</artifact>
                                    </test>
                                    <test><!-- Workaround flaky file test https://github.com/apache/camel-quarkus/issues/3627 -->
                                        <skip>true</skip>
                                        <artifact>org.apache.camel.quarkus:camel-quarkus-integration-test-file:${camel-quarkus.version}</artifact>
                                    </test>
                                    <test><!-- Workaround incompatible PostgreSQL JDBC driver -->
                                        <skip>true</skip>
                                        <artifact>org.apache.camel.quarkus:camel-quarkus-integration-test-debezium:${camel-quarkus.version}</artifact>
                                    </test>
                                    <test><!-- Workaround for Graal SDK incompatibility with Quarkus 999-SNAPSHOT and CQ <= 2.9.0 -->
                                        <skip>true</skip>
                                        <artifact>org.apache.camel.quarkus:camel-quarkus-integration-test-js-dsl:${camel-quarkus.version}</artifact>
                                    </test>
                                </tests>
                            </member>
                            <member>
                                <name>Hazelcast</name>
                                <bom>com.hazelcast:quarkus-hazelcast-client:${quarkus-hazelcast-client.version}</bom>
                                <enabled>true</enabled>
                                <release>
                                    <lastDetectedBomUpdate>io.quarkus.platform:quarkus-hazelcast-client:2.8.0.CR1</lastDetectedBomUpdate>
                                    <next>${platform.groupId}:quarkus-hazelcast-client:${platform.version}</next>
                                </release>
                                <tests>
                                    <test>
                                        <artifact>com.hazelcast:quarkus-hazelcast-client-integration-tests:${quarkus-hazelcast-client.version}</artifact>
                                    </test>
                                </tests>
                            </member>
                            <member>
                                <name>Debezium-Outbox</name>
                                <dependencyManagement>
                                    <dependency>io.debezium:debezium-quarkus-outbox:${debezium-quarkus-outbox.version}</dependency>
                                    <dependency>io.debezium:debezium-quarkus-outbox-deployment:${debezium-quarkus-outbox.version}</dependency>
                                    <dependency>io.debezium:debezium-api:${debezium-quarkus-outbox.version}</dependency>
                                    <dependency>io.debezium:debezium-connector-cassandra:${debezium-quarkus-outbox.version}</dependency>
                                    <dependency>io.debezium:debezium-connector-db2:${debezium-quarkus-outbox.version}</dependency>
                                    <dependency>io.debezium:debezium-connector-mongodb:${debezium-quarkus-outbox.version}</dependency>
                                    <dependency>io.debezium:debezium-connector-mysql:${debezium-quarkus-outbox.version}</dependency>
                                    <dependency>io.debezium:debezium-connector-oracle:${debezium-quarkus-outbox.version}</dependency>
                                    <dependency>io.debezium:debezium-connector-postgres:${debezium-quarkus-outbox.version}</dependency>
                                    <dependency>io.debezium:debezium-connector-sqlserver:${debezium-quarkus-outbox.version}</dependency>
                                    <dependency>io.debezium:debezium-connector-vitess:${debezium-quarkus-outbox.version}</dependency>
                                    <dependency>io.debezium:debezium-core:${debezium-quarkus-outbox.version}</dependency>
                                    <dependency>io.debezium:debezium-ddl-parser:${debezium-quarkus-outbox.version}</dependency>
                                    <dependency>io.debezium:debezium-embedded:${debezium-quarkus-outbox.version}</dependency>
                                    <dependency>io.debezium:debezium-scripting:${debezium-quarkus-outbox.version}</dependency>
                                </dependencyManagement>
                                <enabled>true</enabled>
                                <release>
                                    <lastDetectedBomUpdate>io.quarkus.platform:quarkus-debezium-bom:2.9.0.Final</lastDetectedBomUpdate>
                                    <next>${platform.groupId}:quarkus-debezium-bom:${platform.version}</next>
                                </release>
                                <tests>
                                    <test>
                                        <skip>false</skip>
                                        <artifact>io.debezium:debezium-quarkus-outbox-integration-tests:${debezium-quarkus-outbox.version}</artifact>
                                    </test>
                                </tests>
                            </member>
                            <member>
                                <name>Blaze-Persistence</name>
                                <dependencyManagement>
                                    <dependency>com.blazebit:blaze-persistence-integration-quarkus:${quarkus-blaze-persistence.version}</dependency>
                                    <dependency>com.blazebit:blaze-persistence-integration-quarkus-deployment:${quarkus-blaze-persistence.version}</dependency>
                                    <dependency>com.blazebit:blaze-persistence-entity-view-processor:${quarkus-blaze-persistence.version}</dependency>
                                    <dependency>com.blazebit:blaze-persistence-integration-hibernate-5.6:${quarkus-blaze-persistence.version}</dependency>
                                </dependencyManagement>
                                <enabled>true</enabled>
                                <release>
                                    <lastDetectedBomUpdate>io.quarkus.platform:quarkus-blaze-persistence-bom:2.8.0.CR1</lastDetectedBomUpdate>
                                    <next>${platform.groupId}:quarkus-blaze-persistence-bom:${platform.version}</next>
                                </release>
                                <defaultTestConfig>
                                    <skip>false</skip>
                                    <dependencies>
                                        <dependency>io.quarkus:quarkus-jdbc-h2:${quarkus.version}</dependency>
                                    </dependencies>
                                    <testDependencies>
                                        <dependency>io.quarkus:quarkus-test-h2:${quarkus.version}</dependency>
                                    </testDependencies>
                                </defaultTestConfig>
                                <tests>
                                    <test>
                                        <skip>true</skip>
                                        <skipNative>true</skipNative>
                                        <skipJvm>true</skipJvm>
                                        <artifact>com.blazebit:blaze-persistence-examples-quarkus-testsuite-base:${quarkus-blaze-persistence.version}</artifact>
                                        <systemProperties>
                                            <quarkus.test.profile>h2</quarkus.test.profile>
                                        </systemProperties>
                                    </test>
                                    <test>
                                        <skip>true</skip>
                                        <skipNative>true</skipNative>
                                        <skipJvm>true</skipJvm>
                                        <artifact>com.blazebit:blaze-persistence-examples-quarkus-testsuite-native-h2:${quarkus-blaze-persistence.version}</artifact>
                                    </test>
                                </tests>
                            </member>
                            <member>
                                <name>GoogleCloudServices</name>
                                <bom>io.quarkiverse.googlecloudservices:quarkus-google-cloud-services-bom:${quarkus-google-cloud-services.version}</bom>
                                <enabled>true</enabled>
                                <release>
                                    <lastDetectedBomUpdate>io.quarkus.platform:quarkus-google-cloud-services-bom:2.9.1.Final</lastDetectedBomUpdate>
                                    <next>${platform.groupId}:quarkus-google-cloud-services-bom:${platform.version}</next>
                                </release>
                                <defaultTestConfig>
                                    <skip>false</skip>
                                </defaultTestConfig>
                                <tests>
                                    <test>
                                        <artifact>io.quarkiverse.googlecloudservices:quarkus-google-cloud-services-main-it:${quarkus-google-cloud-services.version}</artifact>
                                    </test>
                                </tests>
                            </member>
                        </members>
                        <!-- Platform BOM generator configuration -->
                        <bomGenerator>
                            <!-- Config to enforce specific versions and excluding dependencies -->
                            <!--
                            <enforcedDependencies>
                                <dependency>groupId:artifactId:desired-version</dependency>
                            </enforcedDependencies>
                            <excludedDependencies>
                                <dependency>groupId:artifactId</dependency>
                            </excludedDependencies>
                            <excludedGroups>
                                <excludedGroup>groupId</excludedGroup>
                            </excludedGroups>
                            -->
                            <excludedDependencies>
                                <dependency>io.quarkus:quarkus-bom-quarkus-platform-descriptor:${quarkus-bom.version}:json</dependency>
                                <dependency>io.quarkus:quarkus-bom-quarkus-platform-properties::properties</dependency>
                                <dependency>com.oracle.instantclient:xstreams</dependency> <!-- provided dependency of a Debezium extension, supposed to be added by users manually -->
                                <!-- Kogito: exclude Spring-related dependencies -->
                                <dependency>org.kie.kogito:kogito-addons-springboot-cloudevents:*</dependency>
                                <dependency>org.kie.kogito:kogito-addons-springboot-events-decisions:*</dependency>
                                <dependency>org.kie.kogito:kogito-addons-springboot-events-kafka:*</dependency>
                                <dependency>org.kie.kogito:kogito-addons-springboot-events-mongodb:*</dependency>
                                <dependency>org.kie.kogito:kogito-addons-springboot-events-process-kafka:*</dependency>
                                <dependency>org.kie.kogito:kogito-addons-springboot-explainability:*</dependency>
                                <dependency>org.kie.kogito:kogito-addons-springboot-jobs-management:*</dependency>
                                <dependency>org.kie.kogito:kogito-addons-springboot-mail:*</dependency>
                                <dependency>org.kie.kogito:kogito-addons-springboot-messaging:*</dependency>
                                <dependency>org.kie.kogito:kogito-addons-springboot-monitoring-core:*</dependency>
                                <dependency>org.kie.kogito:kogito-addons-springboot-monitoring-elastic:*</dependency>
                                <dependency>org.kie.kogito:kogito-addons-springboot-monitoring-prometheus:*</dependency>
                                <dependency>org.kie.kogito:kogito-addons-springboot-process-management:*</dependency>
                                <dependency>org.kie.kogito:kogito-addons-springboot-process-svg:*</dependency>
                                <dependency>org.kie.kogito:kogito-addons-springboot-rest-exception-handler:*</dependency>
                                <dependency>org.kie.kogito:kogito-addons-springboot-task-management:*</dependency>
                                <dependency>org.kie.kogito:kogito-addons-springboot-task-notification:*</dependency>
                                <dependency>org.kie.kogito:kogito-addons-springboot-tracing-decision:*</dependency>
                                <dependency>org.kie.kogito:kogito-cloudevents-spring-boot-addon:*</dependency>
                                <dependency>org.kie.kogito:kogito-decisions-spring-boot-starter:*</dependency>
                                <dependency>org.kie.kogito:kogito-event-driven-decisions-springboot-addon:*</dependency>
                                <dependency>org.kie.kogito:kogito-predictions-spring-boot-starter:*</dependency>
                                <dependency>org.kie.kogito:kogito-processes-spring-boot-starter:*</dependency>
                                <dependency>org.kie.kogito:kogito-rules-spring-boot-starter:*</dependency>
                                <dependency>org.kie.kogito:kogito-serverless-workflow-spring-boot-starter:*</dependency>
                                <dependency>org.kie.kogito:kogito-spring-boot-starter:*</dependency>
                                <dependency>org.kie.kogito:kogito-spring-boot-test-utils:*</dependency>
                                <dependency>org.kie.kogito:kogito-springboot-starter:*</dependency>
                                <dependency>org.kie.kogito:monitoring-core-springboot-addon:*</dependency>
                                <dependency>org.kie.kogito:monitoring-prometheus-springboot-addon:*</dependency>
                                <!-- Log4j -->
                                <dependency>log4j:log4j</dependency>
                            </excludedDependencies>
                        </bomGenerator>
                        <descriptorGenerator>
                            <overridesFile>${overridesfile}</overridesFile>
                            <skipCategoryCheck>true</skipCategoryCheck>
                            <ignoredArtifacts>
                                <!-- relocated to the Quarkiverse repo -->
                                <!-- Amazon services -->
                                <artifact>io.quarkus:quarkus-amazon-common</artifact>
                                <artifact>io.quarkus:quarkus-amazon-dynamodb</artifact>
                                <artifact>io.quarkus:quarkus-amazon-iam</artifact>
                                <artifact>io.quarkus:quarkus-amazon-kms</artifact>
                                <artifact>io.quarkus:quarkus-amazon-s3</artifact>
                                <artifact>io.quarkus:quarkus-amazon-secretsmanager</artifact>
                                <artifact>io.quarkus:quarkus-amazon-ses</artifact>
                                <artifact>io.quarkus:quarkus-amazon-sns</artifact>
                                <artifact>io.quarkus:quarkus-amazon-sqs</artifact>
                                <artifact>io.quarkus:quarkus-amazon-ssm</artifact>
                                <!-- Amazon Alexa -->
                                <artifact>io.quarkus:quarkus-amazon-alexa</artifact>
                                <!-- Tika -->
                                <artifact>io.quarkus:quarkus-tika</artifact>
                                <!-- JGit -->
                                <artifact>io.quarkus:quarkus-jgit</artifact>
                                <!-- JSch -->
                                <artifact>io.quarkus:quarkus-jsch</artifact>
                                <!-- Hibernate Search ORM Elasticsearch AWS -->
                                <artifact>io.quarkus:quarkus-hibernate-search-orm-elasticsearch-aws</artifact>
                                <!-- Artemis -->
                                <artifact>io.quarkus:quarkus-artemis-core</artifact>
                                <artifact>io.quarkus:quarkus-artemis-jms</artifact>
                                <!-- Consul config -->
                                <artifact>io.quarkus:quarkus-consul-config</artifact>
                                <!-- Logging Sentry -->
                                <artifact>io.quarkus:quarkus-logging-sentry</artifact>
                                <!-- Neo4j -->
                                <artifact>io.quarkus:quarkus-neo4j</artifact>
                                <!-- Vault -->
                                <artifact>io.quarkus:quarkus-vault</artifact>
                            </ignoredArtifacts>
                        </descriptorGenerator>
                        <attachedMavenPlugin>
                            <originalPluginCoords>io.quarkus:quarkus-maven-plugin:${quarkus.version}</originalPluginCoords>
                            <targetPluginCoords>${platform.groupId}:quarkus-maven-plugin:${platform.version}</targetPluginCoords>
                        </attachedMavenPlugin>

                        <!-- Uncomment to create a ZIP with the BOM reports
                        <generateBomReportsZip>${project.build.directory}/reports.zip</generateBomReportsZip>
                        -->
                    </platformConfig>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <repositories>
        <repository>
            <id>central</id>
            <name>Maven Repository Switchboard</name>
            <url>https://repo.maven.apache.org/maven2</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
        <repository>
            <id>confluent</id>
            <url>https://packages.confluent.io/maven/</url>
        </repository>
    </repositories>

    <profiles>
        <profile>
            <id>release</id>
            <modules>
                <!-- To properly push the generated platform project as part of the release, it has to be added as a module to make it visible
                     to the release plugin which will then be able to transform the generated POMs -->
                <module>generated-platform-project</module>
            </modules>
            <build>
                <plugins>
                    <!-- Given that the generated platform project is included as a module in this profile,
                         the platform invoker goal becomes redundant and can be disabled -->
                    <plugin>
                        <groupId>io.quarkus</groupId>
                        <artifactId>quarkus-platform-bom-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>build-platform-project</id>
                                <phase>process-resources</phase>
                                <goals>
                                    <goal>invoke-platform-project</goal>
                                </goals>
                                <configuration>
                                    <skip>true</skip>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <artifactId>maven-release-plugin</artifactId>
                        <configuration>
                            <!-- After the release plugin has transformed all the POMs, we need to re-generate the platform configs (mainly to re-generated the POM properties)
                                 taking into account the upcoming release version. Although this will happen at the `process-resources` phase anyway, this should be done
                                 using the platform invoker goal (otherwise, some dependencies relying on the generated properties may fail to resolve).
                                 Here we are deactivating the release profile to exclude the generated-platform-project module. -->
                            <preparationGoals>clean verify -P !release -DrecordUpdatedBoms</preparationGoals>
                            <completionGoals>process-resources -P !release</completionGoals>
                        </configuration>
                    </plugin>
                    <plugin>
                        <!--
                        ## IMPORTANT ##
                        In your ~/.m2/settings.xml you need to add and edit the following profile:
                        <profile>
                            <id>release</id>
                            <properties>
                                <gpg.useagent>false</gpg.useagent>
                                <gpg.executable>/usr/local/Cellar/gnupg@1.4/1.4.23_1/bin/gpg1</gpg.executable> <- use gpg1 on Mac OS X <gpg.homedir>~/.gnupg</gpg.homedir>  <- Update to your own directory <gpg.passphrase>******</gpg.passphrase> <- Add your passphrase </properties>
                        </profile>
                         -->
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-gpg-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>sign-artifacts</id>
                                <phase>verify</phase>
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>rhproduct</id>
            <properties>
                <quarkus.upstream.version>${quarkus.version}</quarkus.upstream.version>
                <platform.groupId>com.redhat.quarkus.platform</platform.groupId>
            </properties>
            <build>
                <plugins>
                    <plugin>
                        <groupId>io.quarkus</groupId>
                        <artifactId>quarkus-platform-bom-maven-plugin</artifactId>
                        <configuration>
                            <platformConfig>
                                <upstreamQuarkusCoreVersion>${quarkus.upstream.version}</upstreamQuarkusCoreVersion>
                                <universal>
                                    <bom>com.redhat.quarkus:quarkus-universe-bom:${platform.version}</bom>
                                </universal>
                                <core combine.children="append">
                                    <metadataOverrideFiles>
                                        <file>${resourcesdir}/core/extensions-support-overrides.json</file>
                                    </metadataOverrideFiles>
                                </core>
                                <members combine.children="append">
                                    <member>
                                        <name>OptaPlanner</name>
                                        <hidden>true</hidden>
                                    </member>
                                    <member>
                                        <name>Kogito</name>
                                        <hidden>true</hidden>
                                    </member>
                                    <member>
                                        <name>QpidJMS</name>
                                        <hidden>true</hidden>
                                    </member>
                                    <member>
                                        <name>Cassandra</name>
                                        <hidden>true</hidden>
                                    </member>
                                    <member>
                                        <name>AmazonServices</name>
                                        <hidden>true</hidden>
                                    </member>
                                    <member>
                                        <name>Camel</name>
                                        <hidden>true</hidden>
                                        <!-- uncomment when the artifact is available
                                        <metadataOverrideArtifacts>
                                            <artifact>org.apache.camel.quarkus:camel-quarkus-product::json:${camel-quarkus.version}</artifact>
                                        </metadataOverrideArtifacts>
                                        -->
                                    </member>
                                    <member>
                                        <name>Hazelcast</name>
                                        <hidden>true</hidden>
                                    </member>
                                    <member>
                                        <name>Debezium-Outbox</name>
                                        <hidden>true</hidden>
                                    </member>
                                    <member>
                                        <name>Blaze-Persistence</name>
                                        <hidden>true</hidden>
                                    </member>
                                    <member>
                                        <name>GoogleCloudServices</name>
                                        <hidden>true</hidden>
                                    </member>
                                </members>
                                <bomGenerator>
                                    <!-- Version constraint preferences during alignment -->
                                    <!-- This allows to favor versions that match a certain expression even if the default Maven version comparator would do otherwise -->
                                    <versionConstraintPreferences>
                                        <prefer>*redhat-*</prefer>
                                    </versionConstraintPreferences>
                                </bomGenerator>
                            </platformConfig>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <!--
           | A convenience profile to re-generate the generated-platform-project before opening a PR
        -->
        <profile>
            <id>sync</id>
            <activation>
                <property>
                    <name>sync</name>
                </property>
            </activation>
            <properties>
                <quarkus.invoke-platform-project.skip>true</quarkus.invoke-platform-project.skip>
            </properties>
            <build>
                <defaultGoal>clean process-resources</defaultGoal>
            </build>
        </profile>
    </profiles>

</project>
