<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.2.7</version>
    </parent>
    <packaging>pom</packaging>
    <artifactId>java-ee-8-bom</artifactId>
    <name>java ee 8 bom</name>
    <description>Bundles all java ee-8 related dependencies</description>
    <properties>
        <version.jakarta.jakartaee-web-api>8.0.0</version.jakarta.jakartaee-web-api>
        <version.myfaces-test>1.0.8</version.myfaces-test>
        <version.jsf.mojarra>2.3.19</version.jsf.mojarra>
        <version.omnifaces>3.14.1</version.omnifaces>
        <version.cui.test.jsf.basic>1.0.2</version.cui.test.jsf.basic>
        <!-- Java EE-->
        <!-- Servlet / EE api -->
        <version.jakarta.ee.web-api>8.0.0</version.jakarta.ee.web-api>
        <version.jakarta.el-api>3.0.3</version.jakarta.el-api>
        <version.jakarta.websocket-api>1.1.2</version.jakarta.websocket-api>
        <version.jakarta.servlet-api>4.0.4</version.jakarta.servlet-api>
        <version.jakarta.validation-api>2.0.2</version.jakarta.validation-api>
        <version.jakarta.interceptor-api>1.2.5</version.jakarta.interceptor-api>
        <version.jakarta.annotation-api>1.3.5</version.jakarta.annotation-api>
        <version.jakarta.inject-api>1.0.5</version.jakarta.inject-api>
        <version.jakarta.cdi-api>2.0.2</version.jakarta.cdi-api>
        <version.jakarta.ws.rs-api>2.1.6</version.jakarta.ws.rs-api>
        <version.jakarta.xml.bind-api>2.3.3</version.jakarta.xml.bind-api>
        <version.jakarta.json-api>2.1.1</version.jakarta.json-api>
        <version.javax.json.impl>1.1.4</version.javax.json.impl>
        <version.myfaces.impl>2.3.10</version.myfaces.impl>
        <version.deltaspike>1.9.6</version.deltaspike>
        <version.weld>3.1.9.Final</version.weld>
        <version.weld.junit5>2.0.2.Final</version.weld.junit5>
        <!-- MicroProfiles (https://microprofile.io/) -->
        <version.microprofile.health>3.1</version.microprofile.health>
        <version.microprofile.health.impl.smallrye>3.3.1</version.microprofile.health.impl.smallrye>
        <version.microprofile.metrics>3.0.1</version.microprofile.metrics>
        <version.microprofile.metrics.impl.smallrye>3.0.5</version.microprofile.metrics.impl.smallrye>
        <version.microprofile.config>2.0.1</version.microprofile.config>
        <version.microprofile.config.impl.smallrye>2.13.3</version.microprofile.config.impl.smallrye>
        <version.microprofile.rest-client>2.0</version.microprofile.rest-client>
        <version.org.jboss.resteasy.client>4.7.9.Final</version.org.jboss.resteasy.client>
    </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-->
            <!-- https://mvnrepository.com/artifact/org.apache.myfaces.test/myfaces-test23 -->
            <dependency>
                <groupId>org.apache.myfaces.test</groupId>
                <artifactId>myfaces-test23</artifactId>
                <version>${version.myfaces-test}</version>
                <scope>compile</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.myfaces.core</groupId>
                <artifactId>myfaces-api</artifactId>
                <version>${version.myfaces.impl}</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.impl}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.glassfish</groupId>
                <artifactId>jakarta.faces</artifactId>
                <version>${version.jsf.mojarra}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.omnifaces</groupId>
                <artifactId>omnifaces</artifactId>
                <version>${version.omnifaces}</version>
                <scope>compile</scope>
            </dependency>
            <!-- ###################-->
            <!-- ### Java EE########-->
            <!-- ###################-->
            <dependency>
                <groupId>javax</groupId>
                <artifactId>javaee-web-api</artifactId>
                <version>use-jakarta-instead</version>
                <scope>provided</scope>
            </dependency>
            <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>
                <!-- replaces javax.xml.bind:jaxb-api -->
                <groupId>jakarta.xml.bind</groupId>
                <artifactId>jakarta.xml.bind-api</artifactId>
                <version>${version.jakarta.xml.bind-api}</version>
            </dependency>
            <!-- Servlet / ee API -->
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>javax.servlet-api</artifactId>
                <version>use-jakarta-instead</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <!-- replaces javax.servlet-api -->
                <groupId>jakarta.servlet</groupId>
                <artifactId>jakarta.servlet-api</artifactId>
                <version>${version.jakarta.servlet-api}</version>
                <scope>provided</scope>
            </dependency>
            <!-- Provided in all tomcats > 7, Currently needed for Omnifaces dependency -->
            <dependency>
                <groupId>javax.websocket</groupId>
                <artifactId>javax.websocket-api</artifactId>
                <version>use-jakarta-instead</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <!-- replaces javax.websocket-api -->
                <groupId>jakarta.websocket</groupId>
                <artifactId>jakarta.websocket-api</artifactId>
                <version>${version.jakarta.websocket-api}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>javax.validation</groupId>
                <artifactId>validation-api</artifactId>
                <version>use-jakarta-instead</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <!-- replaces javax.validation:validation-api -->
                <groupId>jakarta.validation</groupId>
                <artifactId>jakarta.validation-api</artifactId>
                <version>${version.jakarta.validation-api}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>javax.el</groupId>
                <artifactId>javax.el-api</artifactId>
                <version>use-jakarta-instead</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <!-- replaces javax.el:javax.el-api -->
                <groupId>jakarta.el</groupId>
                <artifactId>jakarta.el-api</artifactId>
                <version>${version.jakarta.el-api}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>javax.interceptor</groupId>
                <artifactId>javax.interceptor-api</artifactId>
                <version>use-jakarta-instead</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <!-- replaces javax.interceptor:javax.interceptor-api -->
                <groupId>jakarta.interceptor</groupId>
                <artifactId>jakarta.interceptor-api</artifactId>
                <version>${version.jakarta.interceptor-api}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>javax.annotation</groupId>
                <artifactId>javax.annotation-api</artifactId>
                <version>use-jakarta-instead</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <!-- replaces javax.annotation:javax.annotation-api -->
                <groupId>jakarta.annotation</groupId>
                <artifactId>jakarta.annotation-api</artifactId>
                <version>${version.jakarta.annotation-api}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>javax.json</groupId>
                <artifactId>javax.json-api</artifactId>
                <version>use-jakarta-instead</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <!-- replaces javax.json:javax.json-api -->
                <groupId>jakarta.json</groupId>
                <artifactId>jakarta.json-api</artifactId>
                <version>${version.jakarta.json-api}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <!-- json-api Impl -->
                <groupId>org.glassfish</groupId>
                <artifactId>javax.json</artifactId>
                <version>${version.javax.json.impl}</version>
            </dependency>
            <!-- CDI / @inject -->
            <dependency>
                <groupId>javax.inject</groupId>
                <artifactId>javax.inject</artifactId>
                <version>use-jakarta-instead</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <!-- replaces javax.inject:javax.inject -->
                <groupId>jakarta.inject</groupId>
                <artifactId>jakarta.inject-api</artifactId>
                <version>${version.jakarta.inject-api}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>javax.enterprise</groupId>
                <artifactId>cdi-api</artifactId>
                <version>use-jakarta-instead</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <!-- replaces javax.enterprise:cdi-api -->
                <groupId>jakarta.enterprise</groupId>
                <artifactId>jakarta.enterprise.cdi-api</artifactId>
                <version>${version.jakarta.cdi-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>org.apache.deltaspike.distribution</groupId>
                <artifactId>distributions-bom</artifactId>
                <version>${version.deltaspike}</version>
                <type>pom</type>
                <scope>import</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>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>resteasy-client-microprofile</artifactId>
                <version>${version.org.jboss.resteasy.client}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>resteasy-cdi</artifactId>
                <version>${version.org.jboss.resteasy.client}</version>
                <scope>provided</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
</project>