<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>1.3.4</version>
    </parent>
    <artifactId>java-ee-10-bom</artifactId>
    <packaging>pom</packaging>
    <name>java ee-10-bom</name>
    <description>Bundles all java ee-10 related dependencies</description>
    <modules>
        <module>quarkus-bom</module>
    </modules>
    <properties>
        <version.jakarta.jakartaee-web-api>10.0.0</version.jakarta.jakartaee-web-api>
        <version.myfaces>4.1.1</version.myfaces>
        <version.omnifaces>4.6.5</version.omnifaces>
        <version.primefaces>15.0.8</version.primefaces>
        <version.cui.test.jsf.basic>4.1.0</version.cui.test.jsf.basic>

        <!-- Java EE-->
        <!-- Servlet / EE api -->
        <version.jakarta.ee.web-api>11.0.0</version.jakarta.ee.web-api>
        <version.jakarta.servlet-api>6.1.0</version.jakarta.servlet-api>
        <version.jakarta.websocket-api>2.0.0</version.jakarta.websocket-api>
        <version.jakarta.inject>2.0.1.MR</version.jakarta.inject>
        <version.jakarta.ws.rs>3.1.0</version.jakarta.ws.rs>
        <version.interceptor-api>2.0.1</version.interceptor-api>
        <version.jakarta.validation>3.1.1</version.jakarta.validation>
        <version.jakarta.el>6.0.1</version.jakarta.el>
        <version.jakarta.enterprise.cdi>4.0.1</version.jakarta.enterprise.cdi>
        <version.weld>5.1.2.Final</version.weld>
        <version.weld.junit5>5.0.3.Final</version.weld.junit5>
        <version.json-api>2.1.3</version.json-api>
        <version.parsson>1.1.7</version.parsson>
        <!-- MicroProfiles (https://microprofile.io/) -->
        <version.microprofile.health>4.0.1</version.microprofile.health>
        <version.microprofile.health.impl.smallrye>4.2.0</version.microprofile.health.impl.smallrye>
        <version.microprofile.metrics>5.1.2</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.14.1</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.2.1
        </version.microprofile.context-propagation.impl.smallrye>
        <version.org.jboss.resteasy.client>6.2.10.Final</version.org.jboss.resteasy.client>
        <version.org.jboss.resteasy.microprofile>3.0.1.Final</version.org.jboss.resteasy.microprofile>
        <version.jboss-logging>3.6.1.Final</version.jboss-logging>
        <version.jakarta.annotation-api>2.1.0</version.jakarta.annotation-api>
    </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.omnifaces</groupId>
                <artifactId>omnifaces</artifactId>
                <version>${version.omnifaces}</version>
                <scope>compile</scope>
            </dependency>

            <dependency>
                <groupId>org.primefaces</groupId>
                <artifactId>primefaces</artifactId>
                <version>${version.primefaces}</version>
                <classifier>jakarta</classifier>
                <scope>compile</scope>
            </dependency>

            <!-- ###################-->
            <!-- ### Java EE########-->
            <!-- ###################-->
            <dependency>
                <groupId>jakarta.servlet</groupId>
                <artifactId>jakarta.servlet-api</artifactId>
                <version>${version.jakarta.servlet-api}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <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>
            <!-- This is an artifact.
            The problem is inconsistent versioning
            of this module in certain smallrye implementations-->
            <dependency>
                <groupId>org.jboss.logging</groupId>
                <artifactId>jboss-logging</artifactId>
                <version>${version.jboss-logging}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.ws.rs</groupId>
                <artifactId>jakarta.ws.rs-api</artifactId>
                <version>${version.jakarta.ws.rs}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>jakarta.interceptor</groupId>
                <artifactId>jakarta.interceptor-api</artifactId>
                <version>${version.interceptor-api}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>jakarta.validation</groupId>
                <artifactId>jakarta.validation-api</artifactId>
                <version>${version.jakarta.validation}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>jakarta.el</groupId>
                <artifactId>jakarta.el-api</artifactId>
                <version>${version.jakarta.el}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>jakarta.inject</groupId>
                <artifactId>jakarta.inject-api</artifactId>
                <version>${version.jakarta.inject}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>jakarta.enterprise</groupId>
                <artifactId>jakarta.enterprise.cdi-api</artifactId>
                <version>${version.jakarta.enterprise.cdi}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>jakarta.annotation</groupId>
                <artifactId>jakarta.annotation-api</artifactId>
                <version>${version.jakarta.annotation-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>
            <dependency>
                <groupId>jakarta.json</groupId>
                <artifactId>jakarta.json-api</artifactId>
                <version>${version.json-api}</version>
                <scope>provided</scope>
            </dependency>
            <!-- Implementation of jakarta.json-api: Currently test only for oauth-token-module-->
            <dependency>
                <groupId>org.eclipse.parsson</groupId>
                <artifactId>parsson</artifactId>
                <version>${version.parsson}</version>
                <scope>test</scope>
            </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>
        </dependencies>
    </dependencyManagement>
</project>
