<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>de.cuioss</groupId>
        <artifactId>java-ee-bom</artifactId>
        <version>0.7.3</version>
    </parent>
    <packaging>pom</packaging>
    <artifactId>java-ee-10-bom</artifactId>
    <name>java ee-10-bom</name>
    <description>Bundles all java ee-10 related dependencies</description>
    <properties>
        <version.jakarta.jakartaee-web-api>10.0.0</version.jakarta.jakartaee-web-api>
        <version.myfaces>4.0.2</version.myfaces>
        <version.omnifaces>4.4.1</version.omnifaces>
        <version.omnifaces.quarkus>4.4.1</version.omnifaces.quarkus>
        <version.primefaces>14.0.2</version.primefaces>
        <version.primefaces.quarkus>3.14.2</version.primefaces.quarkus>
        <version.cui.test.jsf.basic>4.0.1</version.cui.test.jsf.basic>

        <!-- Java EE-->
        <!-- Servlet / EE api -->
        <version.jakarta.ee.web-api>10.0.0</version.jakarta.ee.web-api>
        <version.jakarta.websocket-api>2.0.0</version.jakarta.websocket-api>
        <version.weld>5.1.2.Final</version.weld>
        <version.weld.junit5>4.0.3.Final</version.weld.junit5>
        <!-- MicroProfiles (https://microprofile.io/) -->
        <version.microprofile.health>4.0.1</version.microprofile.health>
        <version.microprofile.health.impl.smallrye>4.1.0</version.microprofile.health.impl.smallrye>
        <version.microprofile.metrics>5.1.1</version.microprofile.metrics>
        <version.microprofile.metrics.impl.smallrye>5.1.0</version.microprofile.metrics.impl.smallrye>
        <version.microprofile.config>3.1</version.microprofile.config>
        <version.microprofile.config.impl.smallrye>3.8.3</version.microprofile.config.impl.smallrye>
        <version.microprofile.rest-client>3.0.1</version.microprofile.rest-client>
        <version.microprofile.context-propagation>1.3</version.microprofile.context-propagation>
        <version.microprofile.context-propagation.impl.smallrye>2.1.2
        </version.microprofile.context-propagation.impl.smallrye>
        <version.org.jboss.resteasy.client>6.2.8.Final</version.org.jboss.resteasy.client>
        <version.org.jboss.resteasy.microprofile>2.1.5.Final</version.org.jboss.resteasy.microprofile>
    </properties>
    <dependencyManagement>
        <dependencies>
            <!-- ################ -->
            <!-- ### Outgoing ###-->
            <!-- ################ -->
            <dependency>
                <groupId>de.cuioss.test</groupId>
                <artifactId>cui-jsf-test-basic</artifactId>
                <version>${version.cui.test.jsf.basic}</version>
                <scope>test</scope>
            </dependency>
            <!-- ################ -->
            <!-- ### Incoming  ###-->
            <!-- ################ -->
            <!-- ###################-->
            <!-- ### JSF ###########-->
            <!-- ###################-->
            <!-- JST-Testing-->
            <dependency>
                <groupId>org.apache.myfaces.core</groupId>
                <artifactId>myfaces-test</artifactId>
                <version>${version.myfaces}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.myfaces.core</groupId>
                <artifactId>myfaces-api</artifactId>
                <version>${version.myfaces}</version>
                <scope>provided</scope>
                <exclusions>
                    <exclusion>
                        <groupId>org.apache.tomcat</groupId>
                        <artifactId>tomcat-websocket-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.geronimo.specs</groupId>
                        <artifactId>geronimo-atinject_1.0_spec</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.apache.myfaces.core</groupId>
                <artifactId>myfaces-impl</artifactId>
                <version>${version.myfaces}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.myfaces.core.extensions.quarkus</groupId>
                <artifactId>myfaces-quarkus</artifactId>
                <version>${version.myfaces}</version>
                <scope>runtime</scope>
            </dependency>
            <dependency>
                <groupId>org.omnifaces</groupId>
                <artifactId>omnifaces</artifactId>
                <version>${version.omnifaces}</version>
                <scope>compile</scope>
            </dependency>
            <dependency>
                <groupId>io.quarkiverse.omnifaces</groupId>
                <artifactId>quarkus-omnifaces</artifactId>
                <version>${version.omnifaces.quarkus}</version>
                <scope>runtime</scope>
            </dependency>
            <dependency>
                <groupId>org.primefaces</groupId>
                <artifactId>primefaces</artifactId>
                <version>${version.primefaces}</version>
                <classifier>jakarta</classifier>
                <scope>compile</scope>
            </dependency>
            <dependency>
                <groupId>io.quarkiverse.primefaces</groupId>
                <artifactId>quarkus-primefaces</artifactId>
                <version>${version.primefaces.quarkus}</version>
                <scope>runtime</scope>
            </dependency>

            <!-- ###################-->
            <!-- ### Java EE########-->
            <!-- ###################-->
            <dependency>
                <!-- replaces javax:javaee-web-api -->
                <groupId>jakarta.platform</groupId>
                <artifactId>jakarta.jakartaee-web-api</artifactId>
                <version>${version.jakarta.ee.web-api}</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>jakarta.websocket</groupId>
                <artifactId>jakarta.websocket-api</artifactId>
                <version>${version.jakarta.websocket-api}</version>
                <scope>provided</scope>
            </dependency>

            <!-- Weld -->
            <!-- The actual shaded runtime for tomcat deployments -->
            <dependency>
                <groupId>org.jboss.weld.servlet</groupId>
                <artifactId>weld-servlet-shaded</artifactId>
                <version>${version.weld}</version>
                <scope>runtime</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.weld.module</groupId>
                <artifactId>weld-web</artifactId>
                <version>${version.weld}</version>
                <scope>test</scope>
            </dependency>
            <!-- Need for the unit-integration tests -->
            <dependency>
                <groupId>org.jboss.weld.servlet</groupId>
                <artifactId>weld-servlet-core</artifactId>
                <version>${version.weld}</version>
                <scope>test</scope>
                <exclusions>
                    <exclusion>
                        <artifactId>jboss-el-api_3.0_spec</artifactId>
                        <groupId>org.jboss.spec.javax.el</groupId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.jboss.weld.probe</groupId>
                <artifactId>weld-probe-core</artifactId>
                <version>${version.weld}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.weld.se</groupId>
                <artifactId>weld-se-core</artifactId>
                <version>${version.weld}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.weld</groupId>
                <artifactId>weld-junit5</artifactId>
                <version>${version.weld.junit5}</version>
                <scope>test</scope>
                <exclusions>
                    <exclusion>
                        <groupId>org.hibernate.javax.persistence</groupId>
                        <artifactId>hibernate-jpa-2.1-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.jboss.weld.probe</groupId>
                        <artifactId>weld-probe-core</artifactId>
                    </exclusion>
                    <!-- Always assume jakarta.jakartaee-web-api to be
                    present-->
                    <exclusion>
                        <groupId>jakarta.enterprise</groupId>
                        <artifactId>jakarta.enterprise.cdi-api</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <!-- MicroProfile Health -->
            <dependency>
                <groupId>org.eclipse.microprofile.health</groupId>
                <artifactId>microprofile-health-api</artifactId>
                <version>${version.microprofile.health}</version>
                <scope>compile</scope>
                <exclusions>
                    <exclusion>
                        <groupId>org.osgi</groupId>
                        <artifactId>org.osgi.annotation.versioning</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>io.smallrye</groupId>
                <artifactId>smallrye-health</artifactId>
                <version>${version.microprofile.health.impl.smallrye}</version>
                <scope>provided</scope>
            </dependency>
            <!-- MicroProfile Metrics -->
            <dependency>
                <groupId>org.eclipse.microprofile.metrics</groupId>
                <artifactId>microprofile-metrics-api</artifactId>
                <version>${version.microprofile.metrics}</version>
                <scope>compile</scope>
                <exclusions>
                    <exclusion>
                        <groupId>org.osgi</groupId>
                        <artifactId>org.osgi.annotation.versioning</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>io.smallrye</groupId>
                <artifactId>smallrye-metrics</artifactId>
                <version>${version.microprofile.metrics.impl.smallrye}</version>
                <scope>provided</scope>
            </dependency>
            <!-- MicroProfile Config -->
            <dependency>
                <groupId>org.eclipse.microprofile.config</groupId>
                <artifactId>microprofile-config-api</artifactId>
                <version>${version.microprofile.config}</version>
                <scope>compile</scope>
                <exclusions>
                    <exclusion>
                        <groupId>org.osgi</groupId>
                        <artifactId>org.osgi.annotation.versioning</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>io.smallrye.config</groupId>
                <artifactId>smallrye-config</artifactId>
                <version>${version.microprofile.config.impl.smallrye}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <!-- The "core" does not contain CDI bits -->
                <groupId>io.smallrye.config</groupId>
                <artifactId>smallrye-config-core</artifactId>
                <version>${version.microprofile.config.impl.smallrye}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>io.smallrye.config</groupId>
                <artifactId>smallrye-config-source-injection</artifactId>
                <version>${version.microprofile.config.impl.smallrye}</version>
                <scope>provided</scope>
            </dependency>
            <!-- MicroProfile REST Client -->
            <dependency>
                <groupId>org.eclipse.microprofile.rest.client</groupId>
                <artifactId>microprofile-rest-client-api</artifactId>
                <version>${version.microprofile.rest-client}</version>
                <scope>compile</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>resteasy-bom</artifactId>
                <version>${version.org.jboss.resteasy.client}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>resteasy-jaxb-provider</artifactId>
                <version>${version.org.jboss.resteasy.client}</version>
                <scope>provided</scope>
                <exclusions>
                    <exclusion>
                        <groupId>org.jvnet.staxex</groupId>
                        <artifactId>stax-ex</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>resteasy-client</artifactId>
                <version>${version.org.jboss.resteasy.client}</version>
                <scope>provided</scope>
                <exclusions>
                    <exclusion>
                        <groupId>io.smallrye.config</groupId>
                        <artifactId>smallrye-config</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.jboss.spec.javax.annotation</groupId>
                        <artifactId>jboss-annotations-api_1.3_spec</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>resteasy-client-microprofile</artifactId>
                <version>${version.org.jboss.resteasy.client}</version>
                <scope>provided</scope>
                <exclusions>
                    <exclusion>
                        <groupId>org.reactivestreams</groupId>
                        <artifactId>reactive-streams</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.jboss.spec.javax.interceptor</groupId>
                        <artifactId>jboss-interceptors-api_1.2_spec</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>resteasy-cdi</artifactId>
                <version>${version.org.jboss.resteasy.client}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.jboss</groupId>
                        <artifactId>jandex</artifactId>
                    </exclusion>
                </exclusions>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.resteasy.microprofile</groupId>
                <artifactId>resteasy-microprofile-bom</artifactId>
                <version>${version.org.jboss.resteasy.microprofile}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!-- -Context-propagation -->
            <dependency>
                <groupId>org.eclipse.microprofile.context-propagation</groupId>
                <artifactId>microprofile-context-propagation-api</artifactId>
                <version>${version.microprofile.context-propagation}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>io.smallrye</groupId>
                <artifactId>smallrye-context-propagation</artifactId>
                <version>${version.microprofile.context-propagation.impl.smallrye}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>io.quarkus</groupId>
                <artifactId>quarkus-bom</artifactId>
                <version>${version.quarkus}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
</project>
