<?xml version="1.0" encoding="UTF-8"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You 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.
-->

<!-- $Rev$ $Date$ -->

<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.apache</groupId>
    <artifactId>apache</artifactId>
    <version>21</version>
    <relativePath><!--Resolve on repository--></relativePath>
  </parent>


  <groupId>org.apache.tomee</groupId>
  <artifactId>tomee-project</artifactId>
  <packaging>pom</packaging>
  <version>8.0.1-SNAPSHOT</version>

  <name>Apache OpenEJB</name>
  <description>Apache OpenEJB is an open source, modular, configurable and extensible EJB Container System and EJB Server.</description>
  <url>http://tomee.apache.org</url>
  <inceptionYear>1999</inceptionYear>

  <prerequisites>
    <maven>3.2.5</maven>
  </prerequisites>

  <issueManagement>
    <system>jira</system>
    <url>http://issues.apache.org/jira/browse/TOMEE</url>
  </issueManagement>

  <mailingLists>
    <mailingList>
      <name>OpenEJB Commits List</name>
      <subscribe>commits-subscribe@tomee.apache.org</subscribe>
      <unsubscribe>commits-unsubscribe@tomee.apache.org</unsubscribe>
      <post>commits@tomee.apache.org</post>
      <archive>http://mail-archives.apache.org/mod_mbox/tomee-commits/</archive>
    </mailingList>
    <mailingList>
      <name>OpenEJB Developer List</name>
      <subscribe>dev-subscribe@tomee.apache.org</subscribe>
      <unsubscribe>dev-unsubscribe@tomee.apache.org</unsubscribe>
      <post>dev@tomee.apache.org</post>
      <archive>http://mail-archives.apache.org/mod_mbox/tomee-dev/</archive>
    </mailingList>
    <mailingList>
      <name>OpenEJB Users List</name>
      <subscribe>users-subscribe@tomee.apache.org</subscribe>
      <unsubscribe>users-unsubscribe@tomee.apache.org</unsubscribe>
      <post>users@tomee.apache.org</post>
      <archive>http://mail-archives.apache.org/mod_mbox/tomee-users/</archive>
    </mailingList>
  </mailingLists>
  <ciManagement>
    <system>continuum</system>
    <url>http://vmbuild.apache.org/continuum</url>
    <notifiers>
      <notifier>
        <configuration>
          <address>commits@tomee.apache.org</address>
        </configuration>
      </notifier>
    </notifiers>
  </ciManagement>

  <scm>
    <connection>scm:git:https://git-wip-us.apache.org/repos/asf/tomee.git</connection>
    <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/tomee.git</developerConnection>
    <url>http://git-wip-us.apache.org/repos/asf/tomee.git</url>
    <tag>HEAD</tag>
  </scm>

  <properties>
    <!-- allows release plugin to be overriden -->
    <arguments />
    <tomee.version>${project.version}</tomee.version>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    <surefire.version>2.21.0</surefire.version>

    <!-- for the default name of the module. Needs to be overridden -->
    <tomee.build.name>${project.groupId}.${project.artifactId}</tomee.build.name>

    <!-- To easily change the javaee api version -->
    <version.javaee-api>8.0-2</version.javaee-api>

    <!--
      Activation and JavaMail are both API and IMPL so we don't have them in the javaee-api uber jar.
      We decided to add them here in the project so we can patch/update the 2 libraries without having
      to update and release the javaee-api.jar. Different lifecycle.
    -->
    <geronimo-activation_1.1_spec.version>1.1</geronimo-activation_1.1_spec.version>
    <geronimo-javamail_1.4_spec.version>1.7.1</geronimo-javamail_1.4_spec.version>
    <geronimo-javamail_1.4_mail.version>1.9.0-alpha-2</geronimo-javamail_1.4_mail.version>

    <openjpa.version>3.1.0</openjpa.version>
    <openwebbeans.version>2.0.9</openwebbeans.version>
    <jcs.version>2.1</jcs.version>
    <johnzon.version>1.1.13</johnzon.version>

    <!-- Maven module versions -->
    <maven-bundle-plugin.version>3.3.0</maven-bundle-plugin.version>

    <!-- This is used by a manifest classpath entry -->
    <xbeanVersion>4.14</xbeanVersion>

    <!-- OSGi bundles properties -->
    <openejb.bundle.activator />
    <openejb.osgi.import.pkg>*</openejb.osgi.import.pkg>
    <openejb.osgi.import>${openejb.osgi.import.pkg}</openejb.osgi.import>
    <openejb.osgi.export.pkg>org.apache.tomee</openejb.osgi.export.pkg>
    <openejb.osgi.export>${openejb.osgi.export.pkg}*;version=${openejb.osgi.export.version}</openejb.osgi.export>
    <openejb.osgi.fragment />
    <openejb.osgi.require />
    <openejb.osgi.private.pkg>!*</openejb.osgi.private.pkg>
    <openejb.osgi.dynamic.import.pkg />
    <openejb.osgi.export.version>${project.version}</openejb.osgi.export.version>
    <openejb.osgi.dynamic.import>${openejb.osgi.dynamic.import.pkg}</openejb.osgi.dynamic.import>
    <openejb.osgi.symbolic.name>${project.groupId}.${project.artifactId}</openejb.osgi.symbolic.name>

    <batchee.version>0.5-incubating</batchee.version>

    <version.arquillian>1.1.13.Final</version.arquillian>
    <version.shrinkwrap.descriptor>2.0.0</version.shrinkwrap.descriptor>
    <version.shrinkwrap.shrinkwrap>1.2.6</version.shrinkwrap.shrinkwrap>

    <tomcat.version>9.0.22</tomcat.version>

    <cxf.version>3.3.2</cxf.version>
    <ehcache.version>2.10.3</ehcache.version>
    <!-- used by cxf for security (replay attack) -->
    <jetty.version>7.5.3.v20111011</jetty.version>
    <pax-url.version>1.3.5</pax-url.version>
    <aether.version>1.13.1</aether.version>
    <maven.version>3.0.5</maven.version>
    <wagon.version>2.2</wagon.version>
    <plexus.version>1.5.5</plexus.version>
    <plexus-utils.version>3.0.10</plexus-utils.version>

    <!--
      Old CXF versions were only compatible with 1.3.x. But JDK 9+ requires 1.4.x and higher
      We used to have some weird exclusions to not run test, but we should try to upgrade to 1.4.x anyway
    -->
    <saaj-impl.version>1.5.1</saaj-impl.version>

    <!--
    - http://docs.codehaus.org/display/MAVENUSER/POM+Element+for+Source+File+Encoding
    -->
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

    <!-- Apache Commons -->
    <commons-beanutils.version>1.9.3</commons-beanutils.version>
    <commons-cli.version>1.2</commons-cli.version>
    <commons-logging.version>1.2</commons-logging.version>
    <commons-logging-api.version>1.1</commons-logging-api.version>
    <commons-dbcp.version>2.1</commons-dbcp.version>
    <commons-pool.version>2.3</commons-pool.version>
    <commons-collections.version>3.2.2</commons-collections.version>
    <commons-codec.version>1.13</commons-codec.version>
    <commons-fileupload.version>1.3.1</commons-fileupload.version>
    <commons-discovery.version>0.5</commons-discovery.version>
    <commons-lang3.version>3.8.1</commons-lang3.version>
    <commons-io.version>2.4</commons-io.version>
    <commons-net.version>3.3</commons-net.version>

    <bval.version>2.0.3</bval.version>
    <org.apache.activemq.version>5.15.10</org.apache.activemq.version>
    <org.springframework.version>3.1.4.RELEASE</org.springframework.version>
    <junit.version>4.12</junit.version>
    <org.apache.axis2.version>1.4.1</org.apache.axis2.version>
    <scannotation.version>1.0.2</scannotation.version>
    <geronimo.connector.version>3.1.4</geronimo.connector.version>
    <geronimo-osgi.version>1.1</geronimo-osgi.version>
    <myfaces.version>2.3.4</myfaces.version>
    <mojarra.version>2.3.3</mojarra.version>
    <slf4j.version>1.7.21</slf4j.version>
    <log4j.version>1.2.17</log4j.version>
    <log4j2.version>2.0.1</log4j2.version>
    <osgi.framework.version>4.2.0</osgi.framework.version>
    <version.hsqldb>2.3.2</version.hsqldb>
    <version.axiom>1.2.20</version.axiom>
    <version.xalan>2.7.2</version.xalan>
    <version.hibernate>4.2.18.Final</version.hibernate>
    <version.eclipselink>2.6.4</version.eclipselink>
    <version.groovy>2.4.12</version.groovy>

    <!-- arquillian related -->
    <version.arquillian.bom>1.1.13.Final</version.arquillian.bom>
    <version.shrinkwrap.resolver.bom>2.1.0</version.shrinkwrap.resolver.bom>

    <!-- Micro Profile -->
    <microprofile.version>3.0</microprofile.version>
    <microprofile.config.version>1.3</microprofile.config.version>
    <microprofile.config.impl.version>1.2.1</microprofile.config.impl.version>
    <microprofile.jwt.version>1.1.1</microprofile.jwt.version>
    <microprofile.jwt.impl.version>${project.version}</microprofile.jwt.impl.version>
    <microprofile.fault-tolerance.version>2.0.1</microprofile.fault-tolerance.version>
    <microprofile.fault-tolerance.impl.version>1.2.1</microprofile.fault-tolerance.impl.version>
    <microprofile.health.version>2.1</microprofile.health.version>
    <microprofile.health.impl.version>1.0.1</microprofile.health.impl.version>
    <microprofile.metrics.version>2.1.0</microprofile.metrics.version>
    <microprofile.metrics.impl.version>1.0.2</microprofile.metrics.impl.version>
    <microprofile.rest-client.version>1.3.3</microprofile.rest-client.version>
    <microprofile.rest-client.impl.version>${cxf.version}</microprofile.rest-client.impl.version>
    <microprofile.openapi.version>1.1.2</microprofile.openapi.version>
    <microprofile.openapi.impl.version>1.0.6</microprofile.openapi.impl.version>
    <microprofile.opentracing.version>1.3.1</microprofile.opentracing.version>
    <microprofile.opentracing.impl.version>1.0.0</microprofile.opentracing.impl.version>
    <opentracing.api>0.31.0</opentracing.api>

    <!-- Jackson required by OpenAPI Impl -->
    <jackson.version>2.9.9.3</jackson.version>
    <jackson.dataformat.version>2.9.9</jackson.dataformat.version>

    <!-- Javadoc & Asciidoclet -->
    <javadoc.version>3.0.1</javadoc.version>
    <asciidoclet.version>1.5.0</asciidoclet.version>

  </properties>

  <build>
    <defaultGoal>install</defaultGoal>

    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-war-plugin</artifactId>
          <version>3.1.0</version>
        </plugin>
        <plugin>
          <groupId>org.apache.felix</groupId>
          <artifactId>maven-bundle-plugin</artifactId>
          <version>${maven-bundle-plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-shade-plugin</artifactId>
          <version>2.3</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-remote-resources-plugin</artifactId>
          <version>1.5</version>
          <dependencies>
            <dependency> <!-- java 8 NPE fix -->
              <groupId>org.apache.maven.shared</groupId>
              <artifactId>maven-filtering</artifactId>
              <version>1.3</version>
            </dependency>
          </dependencies>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-resources-plugin</artifactId>
          <version>3.0.2</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>rat-maven-plugin</artifactId>
          <version>1.0-alpha-3</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-dependency-plugin</artifactId>
          <version>3.0.1</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-ear-plugin</artifactId>
          <version>2.10.1</version>
          <dependencies>
            <dependency>
              <groupId>org.codehaus.plexus</groupId>
              <artifactId>plexus-archiver</artifactId>
              <version>3.4</version>
            </dependency>
          </dependencies>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>build-helper-maven-plugin</artifactId>
          <version>1.9.1</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-failsafe-plugin</artifactId>
          <version>2.20</version>
        </plugin>
        <plugin> <!-- maven-dependency-plugin:properties doesn't work as well as this one for us -->
          <groupId>org.apache.geronimo.buildsupport</groupId>
          <artifactId>geronimo-property-plugin</artifactId>
          <version>3.0.1</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jar-plugin</artifactId>
          <version>3.0.2</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.swizzle</groupId>
          <artifactId>dependency-report-plugin</artifactId>
          <version>1.0.2</version>
        </plugin>
        <plugin>
          <groupId>org.metatype.sxc</groupId>
          <artifactId>sxc-jaxb-maven-plugin</artifactId>
          <version>0.8</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jxr-plugin</artifactId>
          <version>2.5</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-pmd-plugin</artifactId>
          <version>3.4</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>jaxb2-maven-plugin</artifactId>
          <version>1.6</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>exec-maven-plugin</artifactId>
          <version>1.2.1</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-assembly-plugin</artifactId>
          <version>2.4.1</version>
        </plugin>
        <plugin>
          <groupId>com.googlecode.jslint4java</groupId>
          <artifactId>jslint4java-maven-plugin</artifactId>
          <version>2.0.5</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-checkstyle-plugin</artifactId>
          <version>2.15</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.gmaven</groupId>
          <artifactId>groovy-maven-plugin</artifactId>
          <version>2.0</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-doap-plugin</artifactId>
          <version>1.2</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>2.8.2</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>${surefire.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.6.2</version>
        </plugin>
        <plugin>
          <groupId>org.owasp</groupId>
          <artifactId>dependency-check-maven</artifactId>
          <version>4.0.0</version>
        </plugin>
        <plugin>
          <groupId>org.jacoco</groupId>
          <artifactId>jacoco-maven-plugin</artifactId>
          <version>0.8.2</version>
          <executions>
            <execution>
              <goals>
                <goal>prepare-agent</goal>
              </goals>
            </execution>
            <!-- attached to Maven test phase -->
            <execution>
              <id>report</id>
              <phase>test</phase>
              <goals>
                <goal>report</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
      </plugins>
    </pluginManagement>

    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-release-plugin</artifactId>
        <version>2.5.3</version>
        <configuration>
          <!-- the following settings are important when working with git -->
          <localCheckout>true</localCheckout>
          <pushChanges>false</pushChanges>
          <releaseProfiles />
          <autoVersionSubmodules>true</autoVersionSubmodules>
          <arguments>-Pmain,apache-release -DskipTests -DfailIfNoTests=false -Dadditionalparam=-Xdoclint:none -DadditionalJOption=-Xdoclint:none ${arguments}</arguments>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
          <trimStackTrace>false</trimStackTrace>
          <reuseForks>false</reuseForks>
          <!-- to be removed when all test lifecycles are fixed -->
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <extensions>true</extensions>
        <configuration>
          <failOnError>false</failOnError>
          <supportedProjectTypes>
            <supportedProjectType>bundle</supportedProjectType>
            <supportedProjectType>jar</supportedProjectType>
            <!-- because we specify the MANIFEST.MF from this plugin and we don't want to break everything for maven -->
            <supportedProjectType>maven-plugin</supportedProjectType>
          </supportedProjectTypes>
          <instructions>
            <Bundle-Name>Apache ${project.name}</Bundle-Name>
            <Bundle-Activator>${openejb.bundle.activator}</Bundle-Activator>
            <Export-Package>${openejb.osgi.export}</Export-Package>
            <Import-Package>${openejb.osgi.import}</Import-Package>
            <Fragment-Host>${openejb.osgi.fragment}</Fragment-Host>
            <Require-Bundle>${openejb.osgi.require}</Require-Bundle>
            <DynamicImport-Package>${openejb.osgi.dynamic.import}</DynamicImport-Package>
            <Private-Package>${openejb.osgi.private.pkg}</Private-Package>
            <Implementation-Title>Apache OpenEJB</Implementation-Title>
            <Implementation-Version>${project.version}</Implementation-Version>
            <Include-Resource>{maven-resources}</Include-Resource>
          </instructions>
        </configuration>
        <executions>
          <execution>
            <id>bundle-manifest</id>
            <phase>process-classes</phase>
            <goals>
              <goal>manifest</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.codehaus.swizzle</groupId>
        <artifactId>dependency-report-plugin</artifactId>
        <executions>
          <execution>
            <phase>compile</phase>
            <goals>
              <goal>report</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <formats>
            <format>txt</format>
            <format>xml</format>
          </formats>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <configuration>
          <archive combine.children="append">
            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
            <manifestEntries>
              <Automatic-Module-Name>${tomee.build.name}</Automatic-Module-Name>
            </manifestEntries>
          </archive>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-doap-plugin</artifactId>
        <version>1.1</version>
        <configuration>
          <doapFile>doap_tomee.rdf</doapFile>
          <outputDirectory>${project.basedir}</outputDirectory>
          <artifact>
            <groupId>${project.groupId}</groupId>
            <artifactId>tomee</artifactId>
            <version>${project.version}</version>
          </artifact>
          <doapOptions>
            <programmingLanguage>Java</programmingLanguage>
            <platform>Java</platform>
            <category>network-server</category>
            <bugDatabase>${project.issueManagement.url}</bugDatabase>
            <created>${project.inceptionYear}-01-01</created>
            <description>Apache TomEE Web Profile delivers Servlets, JSP, JSF, JTA, JPA, CDI, Bean Validation and EJB
              Lite. Apache TomEE Plus has all the features of TomEE with the addition of JAX-RS (RESTfull Services),
              JAX-WS (Web Services), JMS (Java Message Service) and JCA (the Java Connector Architecture). The
              additional functionality is delivered via Apache CXF, Apache ActiveMQ and the Geronimo Connector library
            </description>
            <downloadPage>http://tomee.apache.org/downloads.html</downloadPage>
            <homepage>${project.url}</homepage>
            <license>https://git-wip-us.apache.org/repos/asf?p=tomee.git;a=blob_plain;f=LICENSE;hb=HEAD</license>
            <mailingList>http://tomee.apache.org/support.html</mailingList>
            <name>Apache TomEE</name>
            <scmAnonymous>https://git-wip-us.apache.org/repos/asf/tomee.git</scmAnonymous>
            <scmDeveloper>https://git-wip-us.apache.org/repos/asf/tomee.git</scmDeveloper>
            <shortdesc>Apache TomEE is an all-Apache Java EE 6 Web Profile stack for Apache Tomcat</shortdesc>
            <vendor>${project.organization.name}</vendor>
          </doapOptions>

          <asfExtOptions>
            <chair>David Blevins</chair>
            <charter>Apache TomEE provides an all-Apache Java EE 6 Web Profile stack for Apache Tomcat</charter>
            <pmc>http://tomee.apache.org</pmc>
            <name>Apache TomEE</name>

            <!-- If this Apache project implements a standard -->
            <standards>
              <standard>
                <title>Java EE 6 Web Profile</title>
                <body>Java Community Process</body>
                <id>JSR 316</id>
                <url>https://jcp.org/en/jsr/detail?id=316</url>
              </standard>
            </standards>
          </asfExtOptions>

        </configuration>
      </plugin>
    </plugins>
  </build>

  <profiles>
    <profile>
      <id>main</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <modules>
        <module>boms</module>
        <module>itests</module>
        <module>maven</module>
        <module>gradle</module>
        <module>container</module>
        <module>server</module>
        <module>mp-jwt</module>
        <module>examples</module>
        <module>assembly</module>
        <module>tck</module>
        <module>arquillian</module>
        <module>utils</module>
        <module>tomee</module>
      </modules>
      <repositories>
        <repository>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
          <releases>
            <enabled>false</enabled>
          </releases>
          <id>Apache Snapshots</id>
          <url>https://repository.apache.org/content/repositories/snapshots</url>
        </repository>
      </repositories>
    </profile>
    <profile>
      <id>java11tests</id>
      <modules>
        <module>examples</module>
        <module>itests/microprofile-jwt-itests</module>
        <module>arquillian/arquillian-tomee-tests</module>
        <module>tck</module>
      </modules>
    </profile>
    <profile>
      <id>quick</id>
      <modules>
        <module>boms</module>
        <module>maven</module>
        <module>gradle</module>
        <module>container</module>
        <module>server</module>
        <module>mp-jwt</module>
        <module>assembly</module>
        <module>arquillian</module>
        <module>utils</module>
        <module>tomee</module>
      </modules>
    </profile>
    <profile>
      <id>openejb</id>
      <modules>
        <module>itests</module>
        <module>container</module>
        <module>server</module>
        <module>assembly</module>
        <module>utils</module>
      </modules>
    </profile>
    <profile>
      <id>style</id>
      <modules>
        <module>container/openejb-core</module>
        <module>container/openejb-loader</module>
        <module>container/openejb-junit</module>
        <module>container/openejb-jpa-integration</module>
        <module>container/openejb-javaagent</module>
        <module>container/openejb-api</module>
        <module>arquillian</module>
        <module>tomee</module>
      </modules>
      <properties>
        <style.config.dir>${user.dir}/src/main/style</style.config.dir>
      </properties>
      <reporting>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jxr-plugin</artifactId>
            <version>2.3</version>
          </plugin>
        </plugins>
      </reporting>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-checkstyle-plugin</artifactId>
            <configuration>
              <enableRulesSummary>false</enableRulesSummary>
              <configLocation>${style.config.dir}/checkstyle.xml</configLocation>
              <consoleOutput>true</consoleOutput>
              <headerLocation>${style.config.dir}/java.header</headerLocation>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-pmd-plugin</artifactId>
            <configuration>
              <linkXRef>true</linkXRef>
              <sourceEncoding>utf-8</sourceEncoding>
              <targetJdk>1.7</targetJdk>
              <printFailingErrors>true</printFailingErrors>
              <failurePriority>2</failurePriority>
              <rulesets>
                <ruleset>${style.config.dir}/pmd/openejb-empty.xml</ruleset>
                <ruleset>rulesets/java/finalizers.xml</ruleset>
                <ruleset>rulesets/java/imports.xml</ruleset>
                <ruleset>rulesets/java/unusedcode.xml</ruleset>
                <ruleset>${style.config.dir}/pmd/openejb-controversial.xml</ruleset>
                <ruleset>${style.config.dir}/pmd/openejb-basic.xml</ruleset>
                <ruleset>${style.config.dir}/pmd/openejb-optimizations.xml</ruleset>
              </rulesets>
            </configuration>
          </plugin>
        </plugins>
      </build>

      <repositories>
        <repository>
          <id>apache-snapshots</id>
          <name>Apache Snapshots Repository</name>
          <url>https://repository.apache.org/content/groups/snapshots</url>
          <releases>
            <enabled>false</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </repository>
      </repositories>
    </profile>

    <profile>
      <id>owasp-report</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.owasp</groupId>
            <artifactId>dependency-check-maven</artifactId>
            <configuration>
              <skipProvidedScope>true</skipProvidedScope>
              <skipRuntimeScope>true</skipRuntimeScope>
              <suppressionFiles>${maven.multiModuleProjectDirectory}/owasp-dc-suppression.xml</suppressionFiles>
            </configuration>
            <executions>
              <execution>
                <goals>
                  <goal>aggregate</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>owasp-check</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.owasp</groupId>
            <artifactId>dependency-check-maven</artifactId>
            <configuration>
              <skipProvidedScope>true</skipProvidedScope>
              <skipRuntimeScope>true</skipRuntimeScope>
              <failBuildOnCVSS>8.0</failBuildOnCVSS>
              <suppressionFiles>${maven.multiModuleProjectDirectory}/owasp-dc-suppression.xml</suppressionFiles>
            </configuration>
            <executions>
              <execution>
                <goals>
                  <goal>check</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>rat</id>
      <modules>
        <module>itests</module>
        <module>maven</module>
        <module>gradle</module>
        <module>container</module>
        <module>server</module>
        <module>examples</module>
        <module>arquillian</module>
        <module>assembly</module>
        <module>utils</module>
        <module>tomee</module>
      </modules>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>rat-maven-plugin</artifactId>
            <executions>
              <execution>
                <phase>verify</phase>
                <goals>
                  <goal>check</goal>
                </goals>
              </execution>
            </executions>
            <configuration>
              <reportFile>${project.build.directory}/${project.build.finalName}.rat</reportFile>
              <excludes>
                <exclude>**/target/**/*</exclude>
                <exclude>**/js/livereload.js</exclude>

                <!-- left around after creating the site -->
                <exclude>**/cobertura.ser</exclude>

                <!-- left around after some unit tests -->
                <exclude>**/derby.log</exclude>
                <exclude>**/hsqldb.log</exclude>

                <!-- IDEA files -->
                <exclude>**/*.iml</exclude>
                <exclude>**/*.ipr</exclude>
                <exclude>**/*.iws</exclude>

                <!-- Eclipse files -->
                <exclude>**/.*</exclude>
                <exclude>**/.*/*</exclude>
                <exclude>**/eclipse-classes/**/*</exclude>
              </excludes>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>javadoc</id>
      <modules>
        <module>container</module>
        <module>server</module>
        <module>utils</module>
        <module>tomee</module>
      </modules>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>${javadoc.version}</version>
            <configuration>
              <doclet>org.asciidoctor.Asciidoclet</doclet>
              <docletArtifact>
                <groupId>org.asciidoctor</groupId>
                <artifactId>asciidoclet</artifactId>
                <version>${asciidoclet.version}</version>
              </docletArtifact>
              <additionalOptions>
                <additionalOption>--base-dir ${basedir}</additionalOption>
                <additionalOption>--attribute "name=${project.name}"</additionalOption>
                <additionalOption>--attribute "version=${project.version}"</additionalOption>
              </additionalOptions>
              <doclint>none</doclint> <!-- Doclint is enabled by default in java 8+, this conf is needed disable it till a rewrite of javadoc is done (https://www.oracle.com/technetwork/java/javase/documentation/index-137868.html#format)-->
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
  <repositories>
    <repository>
      <id>apache-snapshots</id>
      <name>Apache Snapshots Repository</name>
      <url>https://repository.apache.org/content/groups/snapshots</url>
      <releases>
        <enabled>false</enabled>
      </releases>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </repository>
    <repository>
      <id>apache</id>
      <name>Apache Repository</name>
      <url>https://repository.apache.org/content/repositories/releases/</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
    <repository>
      <id>sonatype-snapshots</id>
      <name>Sonatype OSS Snapshots Repository</name>
      <url>https://oss.sonatype.org/content/repositories/snapshots</url>
      <releases>
        <enabled>false</enabled>
      </releases>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </repository>
    <repository>
      <id>JBoss Repository</id>
      <url>https://repository.jboss.org/nexus/content/groups/public-jboss</url>
      <layout>default</layout>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </repository>
  </repositories>
  <pluginRepositories>
    <pluginRepository>
      <id>apache-m2-snapshot</id>
      <name>Apache Software Foundation M2 Snapshot Repository</name>
      <url>https://repository.apache.org/content/groups/snapshots</url>
      <releases>
        <enabled>false</enabled>
      </releases>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </pluginRepository>
  </pluginRepositories>
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>javaee-api</artifactId>
        <version>${version.javaee-api}</version>
        <classifier>tomcat</classifier>
        <exclusions>
          <exclusion>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-jpa_2.2_spec</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>javaee-api</artifactId>
        <version>${version.javaee-api}</version>
        <exclusions>
          <exclusion>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-jpa_2.2_spec</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>xml-resolver</groupId>
        <artifactId>xml-resolver</artifactId>
        <version>1.2</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-server</artifactId>
        <version>${jetty.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-continuation</artifactId>
        <version>${jetty.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-jsp-2.1</artifactId>
        <version>${jetty.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-plus</artifactId>
        <version>${jetty.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-jndi</artifactId>
        <version>${jetty.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-webapp</artifactId>
        <version>${jetty.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-io</artifactId>
        <version>${jetty.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-http</artifactId>
        <version>${jetty.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-security</artifactId>
        <version>${jetty.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-util</artifactId>
        <version>${jetty.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.bval</groupId>
        <artifactId>bval-jsr</artifactId>
        <version>${bval.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-cli</groupId>
        <artifactId>commons-cli</artifactId>
        <version>${commons-cli.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging-api</artifactId>
        <version>${commons-logging-api.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>${commons-logging.version}</version>
        <exclusions>
          <exclusion>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
          </exclusion>
          <exclusion>
            <groupId>avalon-framework</groupId>
            <artifactId>avalon-framework</artifactId>
          </exclusion>
          <exclusion>
            <groupId>logkit</groupId>
            <artifactId>logkit</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.hsqldb</groupId>
        <artifactId>hsqldb</artifactId>
        <version>${version.hsqldb}</version>
      </dependency>
      <dependency>
        <groupId>idb</groupId>
        <artifactId>idb</artifactId>
        <version>3.26</version>
      </dependency>
      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>${junit.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>com.agical.rmock</groupId>
        <artifactId>rmock</artifactId>
        <version>2.0.2</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.activemq</groupId>
        <artifactId>activemq-jdbc-store</artifactId>
        <version>${org.apache.activemq.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.apache.derby</groupId>
            <artifactId>derby</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.activemq</groupId>
        <artifactId>activemq-ra</artifactId>
        <version>${org.apache.activemq.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.springframework</groupId>
            <artifactId>spring</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-j2ee-connector_1.5_spec</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-jms_1.1_spec</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-j2ee-management_1.1_spec</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.scala-lang</groupId>
            <artifactId>scala-library</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.jmdns</groupId>
            <artifactId>jmdns</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.google.inject</groupId>
            <artifactId>guice</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.google.inject.extensions</groupId>
            <artifactId>guice-multibindings</artifactId>
          </exclusion>
          <exclusion>
            <groupId>commons-net</groupId>
            <artifactId>commons-net</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-core</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>commons-net</groupId>
        <artifactId>commons-net</artifactId>
        <version>${commons-net.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.activemq</groupId>
        <artifactId>activemq-broker</artifactId>
        <version>${org.apache.activemq.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.fusesource.mqtt-client</groupId>
            <artifactId>mqtt-client</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.fusesource.fuse-extra</groupId>
            <artifactId>fusemq-leveldb</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.google.inject</groupId>
            <artifactId>guice</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.google.inject.extensions</groupId>
            <artifactId>guice-multibindings</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-core</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.scala-lang</groupId>
            <artifactId>scala-library</artifactId>
          </exclusion>
          <exclusion>
            <artifactId>icu4j</artifactId>
            <groupId>com.ibm.icu</groupId>
          </exclusion>
          <exclusion>
            <artifactId>jasypt</artifactId>
            <groupId>org.jasypt</groupId>
          </exclusion>
          <exclusion>
            <groupId>activesoap</groupId>
            <artifactId>jaxp-api</artifactId>
          </exclusion>
          <exclusion>
            <groupId>mx4j</groupId>
            <artifactId>mx4j</artifactId>
          </exclusion>
          <exclusion>
            <groupId>mx4j</groupId>
            <artifactId>mx4j-jmx</artifactId>
          </exclusion>
          <exclusion>
            <groupId>mx4j</groupId>
            <artifactId>mx4j-remote</artifactId>
          </exclusion>
          <exclusion>
            <groupId>mx4j</groupId>
            <artifactId>mx4j-tools</artifactId>
          </exclusion>
          <exclusion>
            <groupId>mx4j</groupId>
            <artifactId>mx4j-impl</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.activemq</groupId>
            <artifactId>activemq-jaas</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-jta_1.0.1B_spec</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-jms_1.1_spec</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-j2ee-jacc_1.0_spec</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-j2ee-management_1.1_spec</artifactId>
          </exclusion>
          <exclusion>
            <groupId>commons-primitives</groupId>
            <artifactId>commons-primitives</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.derby</groupId>
            <artifactId>derby</artifactId>
          </exclusion>
          <exclusion>
            <groupId>axion</groupId>
            <artifactId>axion</artifactId>
          </exclusion>
          <exclusion>
            <groupId>regexp</groupId>
            <artifactId>regexp</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.jmdns</groupId>
            <artifactId>jmdns</artifactId>
          </exclusion>
          <exclusion>
            <groupId>xalan</groupId>
            <artifactId>xalan</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.directory.server</groupId>
            <artifactId>apacheds-core</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>nlog4j</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.springframework</groupId>
            <artifactId>spring</artifactId>
          </exclusion>
          <exclusion>
            <artifactId>jasypt</artifactId>
            <groupId>org.jasypt</groupId>
          </exclusion>
          <exclusion>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.osgi</groupId>
            <artifactId>org.osgi.core</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-core</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>xalan</groupId>
        <artifactId>xalan</artifactId>
        <version>${version.xalan}</version>
      </dependency>
      <dependency>
        <groupId>xalan</groupId>
        <artifactId>serializer</artifactId>
        <version>${version.xalan}</version>
      </dependency>
      <dependency>
        <groupId>stax</groupId>
        <artifactId>stax</artifactId>
        <version>1.2.0</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-beans</artifactId>
        <version>${org.springframework.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>${org.springframework.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context-support</artifactId>
        <version>${org.springframework.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-orm</artifactId>
        <version>${org.springframework.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.geronimo.components</groupId>
        <artifactId>geronimo-connector</artifactId>
        <version>${geronimo.connector.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-jta_1.1_spec</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-j2ee-connector_1.5_spec</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.objectweb.howl</groupId>
            <artifactId>howl</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-validation_1.0_spec</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.geronimo.components</groupId>
        <artifactId>geronimo-transaction</artifactId>
        <version>${geronimo.connector.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-jta_1.1_spec</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-j2ee-connector_1.5_spec</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.objectweb.howl</groupId>
            <artifactId>howl</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.objectweb.howl</groupId>
        <artifactId>howl</artifactId>
        <version>1.0.1-1</version>
      </dependency>
      <dependency>
        <groupId>org.apache.geronimo.specs</groupId>
        <artifactId>geronimo-javamail_1.4_spec</artifactId>
        <version>${geronimo-javamail_1.4_spec.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.geronimo.javamail</groupId>
        <artifactId>geronimo-javamail_1.4_mail</artifactId>
        <version>${geronimo-javamail_1.4_mail.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.apache.geronimo.javamail</groupId>
            <artifactId>geronimo-javamail_1.4_provider</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-javamail_1.4_spec</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>stax</groupId>
        <artifactId>stax-api</artifactId>
        <version>1.0.1</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.openjpa</groupId>
        <artifactId>openjpa</artifactId>
        <version>${openjpa.version}</version>
        <exclusions>
          <exclusion>
            <groupId>asm</groupId>
            <artifactId>asm</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.openjpa</groupId>
            <artifactId>openjpa-jest</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-jpa_2.2_spec</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-jpa_2.2_spec</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-jms_1.1_spec</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-jta_1.1_spec</artifactId>
          </exclusion>
          <exclusion>
            <groupId>commons-collections</groupId>
            <artifactId>commons-collections</artifactId>
          </exclusion>
          <exclusion>
            <groupId>commons-pool</groupId>
            <artifactId>commons-pool</artifactId>
          </exclusion>

          <!-- regarding maven rules, we don't need to exclude those deps
     because we already depend on -->
          <exclusion>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.sun.xml.bind</groupId>
            <artifactId>jaxb-impl</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.xml.stream</groupId>
            <artifactId>stax-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.apache.xbean</groupId>
        <artifactId>xbean-finder-shaded</artifactId>
        <version>${xbeanVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.xbean</groupId>
        <artifactId>xbean-asm7-shaded</artifactId>
        <version>${xbeanVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.xbean</groupId>
        <artifactId>xbean-naming</artifactId>
        <version>${xbeanVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.xbean</groupId>
        <artifactId>xbean-bundleutils</artifactId>
        <version>${xbeanVersion}</version>
        <exclusions>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.xbean</groupId>
        <artifactId>xbean-spring</artifactId>
        <version>${xbeanVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.xbean</groupId>
        <artifactId>xbean-reflect</artifactId>
        <version>${xbeanVersion}</version>
        <exclusions>
          <exclusion>
            <groupId>mx4j</groupId>
            <artifactId>mx4j</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.codehaus.swizzle</groupId>
        <artifactId>swizzle-stream</artifactId>
        <version>1.6.2</version>
      </dependency>
      <dependency>
        <groupId>axis</groupId>
        <artifactId>axis</artifactId>
        <version>1.4</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-dbcp2</artifactId>
        <version>${commons-dbcp.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-pool2</artifactId>
        <version>${commons-pool.version}</version>
      </dependency>
      <dependency>
        <artifactId>xmlsec</artifactId>
        <groupId>org.apache.santuario</groupId>
        <version>2.1.2</version>
      </dependency>
      <dependency>
        <groupId>wsdl4j</groupId>
        <artifactId>wsdl4j</artifactId>
        <version>1.6.3</version>
      </dependency>
      <dependency>
        <groupId>xmlunit</groupId>
        <artifactId>xmlunit</artifactId>
        <version>1.6</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.tomcat</groupId>
        <artifactId>tomcat-catalina</artifactId>
        <version>${tomcat.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.openejb.shade</groupId>
        <artifactId>quartz-openejb-shade</artifactId>
        <version>2.2.1</version>
        <exclusions>
          <exclusion>
            <groupId>org.quartz-scheduler</groupId>
            <artifactId>quartz</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.transaction</groupId>
            <artifactId>jta</artifactId>
          </exclusion>
          <exclusion>
            <groupId>c3p0</groupId>
            <artifactId>c3p0</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.osgi</groupId>
        <artifactId>org.osgi.core</artifactId>
        <version>${osgi.framework.version}</version>
      </dependency>
      <dependency>
        <groupId>org.osgi</groupId>
        <artifactId>org.osgi.compendium</artifactId>
        <version>${osgi.framework.version}</version>
      </dependency>
      <dependency>
        <groupId>xml-apis</groupId>
        <artifactId>xml-apis</artifactId>
        <version>1.4.01</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.neethi</groupId>
        <artifactId>neethi</artifactId>
        <version>3.0.3</version>
        <exclusions>
          <exclusion>
            <groupId>org.codehaus.woodstox</groupId>
            <artifactId>woodstox-core-asl</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.ws.commons.axiom</groupId>
            <artifactId>axiom-impl</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.ws.commons.axiom</groupId>
            <artifactId>axiom-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <artifactId>backport-util-concurrent</artifactId>
        <groupId>backport-util-concurrent</groupId>
        <version>3.1</version>
      </dependency>
      <dependency>
        <groupId>org.apache.ws.commons.axiom</groupId>
        <artifactId>axiom-api</artifactId>
        <version>${version.axiom}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.ws.commons.axiom</groupId>
        <artifactId>axiom-impl</artifactId>
        <version>${version.axiom}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-math</artifactId>
        <version>2.2</version>
      </dependency>
      <dependency>
        <artifactId>serp</artifactId>
        <groupId>net.sourceforge.serp</groupId>
        <version>1.15.1</version>
      </dependency>
      <dependency>
        <groupId>org.apache.sshd</groupId>
        <artifactId>sshd-core</artifactId>
        <version>2.1.0</version>
      </dependency>
      <dependency>
        <groupId>jline</groupId>
        <artifactId>jline</artifactId>
        <version>1.0</version>
      </dependency>
      <dependency>
        <artifactId>slf4j-api</artifactId>
        <groupId>org.slf4j</groupId>
        <version>${slf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-jdk14</artifactId>
        <version>${slf4j.version}</version>
        <exclusions>
          <exclusion>
            <artifactId>slf4j-api</artifactId>
            <groupId>org.slf4j</groupId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>${log4j.version}</version>
      </dependency>
      <dependency>
        <artifactId>commons-collections</artifactId>
        <groupId>commons-collections</groupId>
        <version>${commons-collections.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
        <version>${commons-codec.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-fileupload</groupId>
        <artifactId>commons-fileupload</artifactId>
        <version>${commons-fileupload.version}</version>
      </dependency>
      <dependency>
        <groupId>regexp</groupId>
        <artifactId>regexp</artifactId>
        <version>1.3</version>
      </dependency>
      <dependency>
        <groupId>commons-discovery</groupId>
        <artifactId>commons-discovery</artifactId>
        <version>${commons-discovery.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.openwebbeans</groupId>
        <artifactId>openwebbeans-impl</artifactId>
        <version>${openwebbeans.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.apache.xbean</groupId>
            <artifactId>xbean-finder-shaded</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.openwebbeans</groupId>
        <artifactId>openwebbeans-jsf</artifactId>
        <version>${openwebbeans.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.openwebbeans</groupId>
        <artifactId>openwebbeans-spi</artifactId>
        <version>${openwebbeans.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-el_2.2_spec</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-jcdi_2.0_spec</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-atinject_1.0_spec</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-interceptor_1.2_spec</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.openwebbeans</groupId>
        <artifactId>openwebbeans-ejb</artifactId>
        <version>${openwebbeans.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-interceptor_1.2_spec</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-jcdi_2.0_spec</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-atinject_1.0_spec</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.openwebbeans</groupId>
        <artifactId>openwebbeans-ee</artifactId>
        <version>${openwebbeans.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-el_2.2_spec</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-servlet_3.0_spec</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-jcdi_2.0_spec</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-jta_1.1_spec</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-validation_1.0_spec</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-atinject_1.0_spec</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.openwebbeans</groupId>
        <artifactId>openwebbeans-web</artifactId>
        <version>${openwebbeans.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.apache.xbean</groupId>
            <artifactId>xbean-finder-shaded</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <artifactId>openwebbeans-ee-common</artifactId>
        <groupId>org.apache.openwebbeans</groupId>
        <version>${openwebbeans.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-atinject_1.0_spec</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-jcdi_2.0_spec</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>6.8.21</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-compress</artifactId>
        <version>1.8.1</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.plexus</groupId>
        <artifactId>plexus-archiver</artifactId>
        <version>2.4.4</version>
      </dependency>
      <dependency>
        <artifactId>commons-lang3</artifactId>
        <groupId>org.apache.commons</groupId>
        <version>${commons-lang3.version}</version>
      </dependency>
      <dependency>
        <artifactId>commons-lang</artifactId>
        <groupId>commons-lang</groupId>
        <version>2.6</version>
      </dependency>
      <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>${commons-io.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.ws.commons.schema</groupId>
        <artifactId>XmlSchema</artifactId>
        <version>1.4.7</version>
      </dependency>
      <dependency>
        <groupId>net.sf.ehcache</groupId>
        <artifactId>ehcache-core</artifactId>
        <version>${ehcache.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.derby</groupId>
        <artifactId>derbynet</artifactId>
        <version>10.11.1.1</version>
      </dependency>
      <dependency>
        <groupId>org.apache.derby</groupId>
        <artifactId>derbyclient</artifactId>
        <version>10.11.1.1</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.groovy</groupId>
        <artifactId>groovy-all</artifactId>
        <version>${version.groovy}</version>
      </dependency>
      <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>2.2.4</version>
      </dependency>
      <dependency>
        <groupId>org.metatype.sxc</groupId>
        <artifactId>sxc-jaxb-core</artifactId>
        <version>0.8</version>
      </dependency>
      <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
        <version>${version.hibernate}</version>
        <exclusions>
          <exclusion>
            <artifactId>jboss-logging</artifactId>
            <groupId>org.jboss.logging</groupId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-validator</artifactId>
        <version>5.1.3.Final</version>
        <exclusions>
          <exclusion>
            <groupId>javax.validation</groupId>
            <artifactId>validation-api</artifactId>
          </exclusion>
          <exclusion>
            <artifactId>jboss-logging</artifactId>
            <groupId>org.jboss.logging</groupId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.eclipse.persistence</groupId>
        <artifactId>eclipselink</artifactId>
        <version>${version.eclipselink}</version>
      </dependency>
      <dependency> <!-- Added in for backwards compatibility with the move to Jakarta EE coordinates -->
        <groupId>com.sun.activation</groupId>
        <artifactId>jakarta.activation</artifactId>
        <version>1.2.1</version>
      </dependency>
      <dependency>
        <groupId>org.apache.tomee.bom</groupId>
        <artifactId>jaxb-runtime</artifactId>
        <version>${project.version}</version>
        <type>pom</type>
      </dependency>
      <dependency> <!-- licence apache, only 110ko -->
        <groupId>org.fusesource.jansi</groupId>
        <artifactId>jansi</artifactId>
        <version>1.16</version>
      </dependency>
      <dependency>
        <groupId>org.apache.taglibs</groupId>
        <artifactId>taglibs-standard-jstlel</artifactId>
        <version>1.2.5</version>
        <exclusions>
          <exclusion>
            <groupId>xalan</groupId>
            <artifactId>xalan</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <!-- Jackson required by OpenAPI Impl and ActiveMQ Broker -->
      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>${jackson.version}</version>
      </dependency>
      <!-- Jackson required by OpenAPI Impl -->
      <dependency>
        <groupId>com.fasterxml.jackson.dataformat</groupId>
        <artifactId>jackson-dataformat-yaml</artifactId>
        <version>${jackson.dataformat.version}</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <distributionManagement>
    <site>
      <id>openejb-website</id>
      <url>scp://people.apache.org/www/tomee.apache.org/openejb/maven</url>
    </site>
  </distributionManagement>
</project>
