<?xml version='1.0' encoding='UTF-8'?>
<!--
  ~ JBoss, Home of Professional Open Source
  ~ Copyright 2018, Red Hat, Inc., and individual contributors as indicated
  ~ by the @authors tag.
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~ http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->
<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/maven-v4_0_0.xsd">

    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.wildfly.bom</groupId>
        <artifactId>wildfly</artifactId>
        <!--
        Maintain separation between the artifact id and the version to help prevent
        merge conflicts between commits changing the GA and those changing the V.
        -->
        <version>14.0.1.Final</version>
    </parent>

    <packaging>pom</packaging>

    <artifactId>wildfly-javaee8</artifactId>

    <name>WildFly BOMs: Java EE 8</name>
    <description>Java EE 8 Dependency Management</description>

    <properties>

        <!-- Version of specs -->
        <version.org.jboss.spec.jboss.javaee8>1.0.1.Final</version.org.jboss.spec.jboss.javaee8>

        <!-- Version of server -->
        <version.server>14.0.1.Final</version.server>

        <!-- Versions on server's core -->
        <version.junit>4.12</version.junit>
        <version.org.jboss.logging.jboss-logging>3.3.2.Final</version.org.jboss.logging.jboss-logging>
        <version.org.jboss.logging.jboss-logging-tools>2.1.0.Final</version.org.jboss.logging.jboss-logging-tools>
        <version.org.wildfly.client.config>1.0.1.Final</version.org.wildfly.client.config>
        <version.org.wildfly.common>1.4.0.Final</version.org.wildfly.common>
        <version.org.wildfly.discovery>1.1.1.Final</version.org.wildfly.discovery>
        <version.org.wildfly.security.elytron>1.6.0.Final</version.org.wildfly.security.elytron>

        <!-- Versions on server -->
        <version.org.hibernate>5.3.6.Final</version.org.hibernate>
        <version.org.hibernate.commons.annotations>5.0.4.Final</version.org.hibernate.commons.annotations>
        <version.org.hibernate.search>5.10.3.Final</version.org.hibernate.search>
        <version.org.hibernate.validator>6.0.13.Final</version.org.hibernate.validator>
        <version.org.infinispan>9.3.1.Final</version.org.infinispan>
        <version.org.jboss.arquillian.core>1.1.13.Final</version.org.jboss.arquillian.core>
        <version.org.jboss.ejb3.ext-api>2.2.0.Final</version.org.jboss.ejb3.ext-api>
        <version.org.jboss.narayana>5.9.0.Final</version.org.jboss.narayana>
        <version.org.jboss.resteasy>3.6.1.Final</version.org.jboss.resteasy>
        <version.org.jboss.security.jboss-negotiation>3.0.4.Final</version.org.jboss.security.jboss-negotiation>
        <version.org.jboss.security.jbossxacml>2.0.8.Final</version.org.jboss.security.jbossxacml>
        <version.org.picketbox.picketbox-commons>1.0.0.final</version.org.picketbox.picketbox-commons>
        <version.org.picketlink>2.5.5.SP12</version.org.picketlink>
        <version.org.wildfly.arquillian>2.1.1.Final</version.org.wildfly.arquillian>
        <version.org.wildfly.plugin>1.2.1.Final</version.org.wildfly.plugin>
        <version.surefire.plugin>2.22.0</version.surefire.plugin>

        <!-- Other versions -->
        <version.org.jboss.arquillian.extension.drone>2.3.1</version.org.jboss.arquillian.extension.drone>
        <version.org.jboss.arquillian.graphene>2.3.1</version.org.jboss.arquillian.graphene>
        <version.org.jboss.shrinkwrap.resolver>2.2.6</version.org.jboss.shrinkwrap.resolver>
        <version.org.testng>6.11</version.org.testng>

    </properties>

    <dependencyManagement>
        <dependencies>
        <!-- BOM imports -->
            <!-- JBoss distributes a complete set of Java EE APIs including
                a Bill of Materials (BOM). A BOM specifies the versions of a "stack" (or
                a collection) of artifacts. We use this here so that we always get the correct
                versions of artifacts. Here we use the jboss-javaee-8 stack (you can read
                this as the JBoss stack of the Java EE full Profile 8 APIs). You can actually use
                this stack with any version of WildFly that implements Java EE 8! -->
            <dependency>
                <groupId>org.jboss.spec</groupId>
                <artifactId>jboss-javaee-8.0</artifactId>
                <version>${version.org.jboss.spec.jboss.javaee8}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

        <!-- Wildfly client dependency sets -->
            <!-- The ejb and jms client BOMs should be used as a normal dependency with
                 <type>pom</type>.  This adds a set of dependencies to the build.
                 This is in contrast to dependency management using the "import" 
                 scope which manages dependency versions, but does not add the 
                 dependencies to the build classpath. -->
            <dependency>
                <groupId>org.wildfly</groupId>
                <artifactId>wildfly-ejb-client-bom</artifactId>
                <version>${project.version}</version>
                <type>pom</type>
            </dependency>
            <dependency>
                <groupId>org.wildfly</groupId>
                <artifactId>wildfly-jms-client-bom</artifactId>
                <version>${project.version}</version>
                <type>pom</type>
            </dependency>

        <!-- Individual EAP Components -->

            <!-- Hibernate ORM sub-modules -->
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-core</artifactId>
                <version>${version.org.hibernate}</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-entitymanager</artifactId>
                <version>${version.org.hibernate}</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-envers</artifactId>
                <version>${version.org.hibernate}</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-jpamodelgen</artifactId>
                <version>${version.org.hibernate}</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-search-engine</artifactId>
                <version>${version.org.hibernate.search}</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-search-orm</artifactId>
                <version>${version.org.hibernate.search}</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate.validator</groupId>
                <artifactId>hibernate-validator</artifactId>
                <version>${version.org.hibernate.validator}</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate.validator</groupId>
                <artifactId>hibernate-validator-annotation-processor</artifactId>
                <version>${version.org.hibernate.validator}</version>
            </dependency>


            <dependency>
                <groupId>org.infinispan</groupId>
                <artifactId>infinispan-core</artifactId>
                <version>${version.org.infinispan}</version>
            </dependency>
            <dependency>
                <groupId>org.infinispan</groupId>
                <artifactId>infinispan-client-hotrod</artifactId>
                <version>${version.org.infinispan}</version>
            </dependency>
            <dependency>
                <groupId>org.infinispan</groupId>
                <artifactId>infinispan-directory-provider</artifactId>
                <version>${version.org.infinispan}</version>
            </dependency>

            <dependency>
                <groupId>org.jboss.ejb3</groupId>
                <artifactId>jboss-ejb3-ext-api</artifactId>
                <version>${version.org.jboss.ejb3.ext-api}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.jboss.javaee</groupId>
                        <artifactId>jboss-ejb-api</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <!--  These dependencies are the jboss-logging tools magic -->
            <!--  the jboss-logging-tools processor  -->
            <dependency>
                <groupId>org.jboss.logging</groupId>
                <artifactId>jboss-logging-processor</artifactId>
                <version>${version.org.jboss.logging.jboss-logging-tools}</version>
            </dependency>
            <!--  the jboss-logging-tools annotations  -->
            <dependency>
                <groupId>org.jboss.logging</groupId>
                <artifactId>jboss-logging-annotations</artifactId>
                <version>${version.org.jboss.logging.jboss-logging-tools}</version>
            </dependency>
            <!--  jboss-logging API -->
            <dependency>
                <groupId>org.jboss.logging</groupId>
                <artifactId>jboss-logging</artifactId>
                <version>${version.org.jboss.logging.jboss-logging}</version>
            </dependency>

            <!-- The XTS api needed to use WS-TX -->
            <dependency>
                <groupId>org.jboss.narayana.xts</groupId>
                <artifactId>jbossxts</artifactId>
                <version>${version.org.jboss.narayana}</version>
                <scope>provided</scope>
                <classifier>api</classifier>
            </dependency>

            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>resteasy-atom-provider</artifactId>
                <version>${version.org.jboss.resteasy}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>resteasy-jaxb-provider</artifactId>
                <version>${version.org.jboss.resteasy}</version>
            </dependency>
            <!-- resteasy-jettison-provider is deprecated for EAP 7 -->
            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>resteasy-jettison-provider</artifactId>
                <version>${version.org.jboss.resteasy}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>resteasy-jackson-provider</artifactId>
                <version>${version.org.jboss.resteasy}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>resteasy-jackson2-provider</artifactId>
                <version>${version.org.jboss.resteasy}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>resteasy-jaxrs</artifactId>
                <version>${version.org.jboss.resteasy}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>resteasy-client</artifactId>
                <version>${version.org.jboss.resteasy}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>resteasy-multipart-provider</artifactId>
                <version>${version.org.jboss.resteasy}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>resteasy-json-p-provider</artifactId>
                <version>${version.org.jboss.resteasy}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>resteasy-jsapi</artifactId>
                <version>${version.org.jboss.resteasy}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>resteasy-validator-provider-11</artifactId>
                <version>${version.org.jboss.resteasy}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>resteasy-spring</artifactId>
                <version>${version.org.jboss.resteasy}</version>
            </dependency>

            <dependency>
                <groupId>org.jboss.security</groupId>
                <artifactId>jboss-negotiation-common</artifactId>
                <version>${version.org.jboss.security.jboss-negotiation}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.security</groupId>
                <artifactId>jboss-negotiation-extras</artifactId>
                <version>${version.org.jboss.security.jboss-negotiation}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.security</groupId>
                <artifactId>jboss-negotiation-ntlm</artifactId>
                <version>${version.org.jboss.security.jboss-negotiation}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.security</groupId>
                <artifactId>jboss-negotiation-spnego</artifactId>
                <version>${version.org.jboss.security.jboss-negotiation}</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>org.jboss.security</groupId>
                <artifactId>jbossxacml</artifactId>
                <version>${version.org.jboss.security.jbossxacml}</version>
            </dependency>

            <dependency>
                <groupId>org.picketbox</groupId>
                <artifactId>picketbox-commons</artifactId>
                <version>${version.org.picketbox.picketbox-commons}</version>
            </dependency>

            <dependency>
                <groupId>org.picketlink</groupId>
                <artifactId>picketlink-api</artifactId>
                <version>${version.org.picketlink}</version>
            </dependency>
            <dependency>
                <groupId>org.picketlink</groupId>
                <artifactId>picketlink-common</artifactId>
                <version>${version.org.picketlink}</version>
            </dependency>
            <dependency>
                <groupId>org.picketlink</groupId>
                <artifactId>picketlink-federation</artifactId>
                <version>${version.org.picketlink}</version>
            </dependency>
            <dependency>
                <groupId>org.picketlink</groupId>
                <artifactId>picketlink-impl</artifactId>
                <version>${version.org.picketlink}</version>
            </dependency>
            <dependency>
                <groupId>org.picketlink</groupId>
                <artifactId>picketlink-idm-api</artifactId>
                <version>${version.org.picketlink}</version>
            </dependency>
            <dependency>
                <groupId>org.picketlink</groupId>
                <artifactId>picketlink-idm-impl</artifactId>
                <version>${version.org.picketlink}</version>
            </dependency>

            <dependency>
                <groupId>org.wildfly</groupId>
                <artifactId>wildfly-clustering-singleton-api</artifactId>
                <version>${version.server}</version>
            </dependency>
            <dependency>
                <groupId>org.wildfly</groupId>
                <artifactId>wildfly-security-api</artifactId>
                <version>${version.server}</version>
            </dependency>


            <dependency>
                <groupId>org.wildfly.security</groupId>
                <artifactId>wildfly-elytron</artifactId>
                <version>${version.org.wildfly.security.elytron}</version>
            </dependency>


            <dependency>
                <groupId>org.wildfly.discovery</groupId>
                <artifactId>wildfly-discovery-client</artifactId>
                <version>${version.org.wildfly.discovery}</version>
            </dependency>

            <dependency>
                <groupId>org.wildfly.client</groupId>
                <artifactId>wildfly-client-config</artifactId>
                <version>${version.org.wildfly.client.config}</version>
            </dependency>

            <dependency>
                <groupId>org.wildfly.common</groupId>
                <artifactId>wildfly-common</artifactId>
                <version>${version.org.wildfly.common}</version>
            </dependency>

        </dependencies>
    </dependencyManagement>

    <modules>
        <module>javaee8-with-tools</module>
    </modules>

</project>
