<?xml version="1.0" encoding="UTF-8"?>
<!--

    Copyright (c) 2019, 2022 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License v. 2.0 which is available at
    http://www.eclipse.org/legal/epl-2.0,
    or the Eclipse Distribution License v. 1.0 which is available at
    http://www.eclipse.org/org/documents/edl-v10.php.

    SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause

-->

<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
         xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <modelVersion>4.0.0</modelVersion>

    <name>EclipseLink Parent</name>
    <description>Comprehensive and universal persistence framework for Java.</description>
    <groupId>org.eclipse.persistence</groupId>
    <artifactId>org.eclipse.persistence.parent</artifactId>
    <version>4.0.0-SNAPSHOT</version>
    <packaging>pom</packaging>

    <parent>
        <groupId>org.eclipse.ee4j</groupId>
        <artifactId>project</artifactId>
        <version>1.0.6</version>
        <relativePath/>
    </parent>

    <scm>
        <connection>scm:git:https://github.com/eclipse-ee4j/eclipselink.git</connection>
        <url>https://github.com/eclipse-ee4j/eclipselink.git</url>
    </scm>

    <organization>
        <name>Eclipse.org - EclipseLink Project</name>
        <url>http://www.eclipse.org/eclipselink</url>
    </organization>

    <inceptionYear>2007</inceptionYear>
    <url>http://www.eclipse.org/eclipselink</url>

    <licenses>
        <license>
            <name>Eclipse Public License - v 2.0</name>
            <url>http://www.eclipse.org/legal/epl-2.0</url>
            <distribution>repo</distribution>
        </license>
        <license>
            <name>Eclipse Distribution License - v 1.0</name>
            <url>http://www.eclipse.org/org/documents/edl-v10.php</url>
            <distribution>repo</distribution>
        </license>
    </licenses>

    <issueManagement>
        <system>github</system>
        <url>https://github.com/eclipse-ee4j/eclipselink/issues</url>
    </issueManagement>

    <mailingLists>
        <mailingList>
            <name>EclipseLink user's mailing list</name>
            <post>eclipselink-users@eclipse.org</post>
            <subscribe>https://accounts.eclipse.org/mailing-list/eclipselink-users</subscribe>
            <unsubscribe>https://accounts.eclipse.org/mailing-list/eclipselink-users</unsubscribe>
            <archive>https://dev.eclipse.org/mhonarc/lists/eclipselink-users/</archive>
        </mailingList>
        <mailingList>
            <name>EclipseLink developer's mailing list</name>
            <post>eclipselink-dev@eclipse.org</post>
            <subscribe>https://accounts.eclipse.org/mailing-list/eclipselink-dev</subscribe>
            <unsubscribe>https://accounts.eclipse.org/mailing-list/eclipselink-dev</unsubscribe>
            <archive>https://dev.eclipse.org/mhonarc/lists/eclipselink-dev/</archive>
        </mailingList>
    </mailingLists>

    <repositories>
        <repository>
            <id>sonatype-nexus-staging</id>
            <name>Sonatype Nexus Staging</name>
            <url>${sonatypeOssDistMgmtStagingUrl}</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>

    <properties>
        <!-- Minimum required JDK version -->
        <maven.compiler.release>11</maven.compiler.release>
        <maven.compiler.testRelease>11</maven.compiler.testRelease>

        <!-- TOOL Properties -->
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <jdoc.doclint>all,-missing</jdoc.doclint>
        <!-- exclude big groups from the Xlint -->
        <comp.xlint>-Xlint:all,-serial</comp.xlint>
        <comp.xdoclint>-Xdoclint:all,-missing</comp.xdoclint>
        <comp.test.xlint>-Xlint:all,-rawtypes,-unchecked,-serial</comp.test.xlint>
        <warn.limit>250</warn.limit>

        <spotbugs.common>${project.build.directory}/spotbugs-exclude-common.xml</spotbugs.common>
        <spotbugs.exclude/>
        <spotbugs.skip>false</spotbugs.skip>
        <spotbugs.threshold>Normal</spotbugs.threshold>
        <spotbugs.version>4.4.1</spotbugs.version>

        <!-- PROJECT Properties -->
        <build.type>SNAPSHOT</build.type>
        <maven.build.timestamp.format>yyyyMMddHHmm</maven.build.timestamp.format>
        <build.qualifier>v${maven.build.timestamp}</build.qualifier>
        <bundle.version>${project.version}.${build.qualifier}</bundle.version>
        <project.build.testReports.subdirectory>test-reports</project.build.testReports.subdirectory>
        <project.build.testReports.summaryFile>test-summary</project.build.testReports.summaryFile>
        <project.build.licenceResourceDirectory>${project.build.directory}/license</project.build.licenceResourceDirectory>

        <!--Integration test sources/resources directory. Relative directory to ${project.basedir}
        !!!Can't start with / character!!!-->
        <integration.test.directory>src/it/</integration.test.directory>
        <integration.test.sources.directory>${integration.test.directory}/java/</integration.test.sources.directory>
        <integration.test.resources.directory>${integration.test.directory}/resources/</integration.test.resources.directory>
        <integration.test.skip.verify>false</integration.test.skip.verify>

        <!--Default location for JEE servers binaries-->
        <test.directory>${user.home}/.eclipselinktests</test.directory>
        <installation.url>https://download.jboss.org/wildfly/18.0.0.Final/wildfly-18.0.0.Final.zip</installation.url>
        <installation.checksum.md5>8e4d435bb5d6fe466b478dc49d34bf27</installation.checksum.md5>

        <!--Test DB property file names-->
        <test.mysql.properties.file>el-test.mysql.properties</test.mysql.properties.file>
        <test.oracle.properties.file>el-test.oracle.properties</test.oracle.properties.file>
        <test.mongodb.properties.file>el-test.mongodb.properties</test.mongodb.properties.file>
        <test.derby.properties.file>el-test.derby.properties</test.derby.properties.file>
        <test.mssql.properties.file>el-test.mssql.properties</test.mssql.properties.file>
        <test.pgsql.properties.file>el-test.pgsql.properties</test.pgsql.properties.file>

        <!--Default test DB is Derby-->
        <test.properties.file>${user.home}/${test.derby.properties.file}</test.properties.file>
        <test.properties.fileName>${test.derby.properties.file}</test.properties.fileName>
        <test.properties.default.directory>${project.build.directory}/test-default-properties</test.properties.default.directory>
        <test.database>derby</test.database>
        <!--false: to start In-Memory database, true: not start (MySQL, Oracle)-->
        <test.skip.in-memory.db>false</test.skip.in-memory.db>

        <!--Test JEE server property file names-->
        <testjee.glassfish.properties.file>el-testjee.glassfish.properties</testjee.glassfish.properties.file>
        <testjee.weblogic.properties.file>el-testjee.weblogic.properties</testjee.weblogic.properties.file>
        <testjee.wildfly.properties.file>el-testjee.wildfly.properties</testjee.wildfly.properties.file>
        <!--Default test JEE Server is WildFly-->
        <testjee.properties.file>${user.home}/${testjee.wildfly.properties.file}</testjee.properties.file>
        <testjee.properties.fileName>${testjee.wildfly.properties.file}</testjee.properties.fileName>

        <!--Default DB driver used for testing-->
        <db.driver.groupId>org.apache.derby</db.driver.groupId>
        <db.driver.artifactId>derbyclient</db.driver.artifactId>
        <db.driver.version>${derby.version}</db.driver.version>

        <!--Default JEE client used for EJB remote call (testing)-->
        <jee.client.groupId>org.wildfly</jee.client.groupId>
        <jee.client.artifactId>wildfly-ejb-client-bom</jee.client.artifactId>
        <jee.client.version>${wildfly.version}</jee.client.version>
        <jee.client.type>pom</jee.client.type>

        <skip.glassfish.configuration>true</skip.glassfish.configuration>

        <!--These properties are used in MOXy and SDO tests only-->
        <test.xml.platform>org.eclipse.persistence.platform.xml.jaxp.JAXPPlatform</test.xml.platform>
        <test.xml.parser>org.eclipse.persistence.platform.xml.jaxp.JAXPParser</test.xml.parser>

        <!--Eclipse Dependencies version-->
        <eclipselink.asm.version>9.2.0</eclipselink.asm.version>
        <activation-api.version>2.1.0</activation-api.version>
        <angus-activation.version>1.0.0</angus-activation.version>
        <annotation.version>2.1.0</annotation.version>
        <cdi.version>3.0.0</cdi.version>
        <ejb.version>4.0.0</ejb.version>
        <el.version>4.0.2</el.version>
        <glassfish.version>6.2.3</glassfish.version>
        <jaxwsrt.version>4.0.0-M1</jaxwsrt.version>
        <jaxb.version>4.0.0-M2</jaxb.version>
        <jaxb.api.version>4.0.0-RC3</jaxb.api.version>
        <soap.api.version>3.0.0-RC2</soap.api.version>
        <jersey.version>3.0.3</jersey.version>
        <jms.version>3.0.0</jms.version>
        <json.version>2.1.0</json.version>
        <jpa.api.version>3.1.0-RC2</jpa.api.version>
        <mail-api.version>2.1.0</mail-api.version>
        <angus-mail.version>1.0.0</angus-mail.version>
        <oracle.ddlparser.version>3.0.0</oracle.ddlparser.version>
        <org.glassfish.corba.version>4.2.4</org.glassfish.corba.version>
        <parsson.version>1.1.0</parsson.version>
        <resource.version>2.0.0</resource.version>
        <servlet.version>5.0.0</servlet.version>
        <transaction.version>2.0.0</transaction.version>
        <validation.version>3.0.1</validation.version>
        <ws-api.version>4.0.0-RC2</ws-api.version>
        <ws-rs.version>3.1.0</ws-rs.version>

        <!--Third-Party Dependencies version-->
        <!-- CQ #23046 -->
        <apache.felix.framework.version>7.0.0</apache.felix.framework.version>
        <!-- CQ #21133 -->
        <ant.version>1.10.11</ant.version>
        <commonj.sdo.version>2.1.1</commonj.sdo.version>
        <derby.version>10.14.2.0</derby.version>
        <!-- CQ #21134, 21135, 21136, 21137 -->
        <exam.version>4.13.2</exam.version>
        <hamcrest.version>1.3</hamcrest.version>
        <!-- CQ #23048 -->
        <hibernate.version>7.0.1.Final</hibernate.version>
        <checkstyle.version>8.40</checkstyle.version>
        <!-- CQ #23049 -->
        <jgroups.version>4.2.11.Final</jgroups.version>
        <jmh.version>1.27</jmh.version>
        <junit.version>4.13.2</junit.version>
        <!-- CQ #21138 -->
        <mongodb.version>3.12.7</mongodb.version>
        <mysql.version>8.0.27</mysql.version>
        <mssql.version>9.2.0.jre8</mssql.version>
        <pgsql.version>42.3.3</pgsql.version>
        <!-- CQ #21139, 21140 -->
        <logback.version>1.3.0-alpha5</logback.version>
        <oracle.jdbc.version>21.3.0.0</oracle.jdbc.version>
        <!-- CQ #2437 -->
        <oracle.aqapi.version>19.3.0.0</oracle.aqapi.version>
        <oracle.fmw.version>12.2.1-2-0</oracle.fmw.version>
        <!-- CQ #21141 -->
        <oracle.nosql.version>18.3.10</oracle.nosql.version>
        <!-- CQ #21142 -->
        <osgi.version>6.0.0</osgi.version>
        <!-- CQ #21143 -->
        <slf4j.version>2.0.0-alpha2</slf4j.version>
        <!-- CQ #23051, 23052, 23053, 53054, 53055 -->
        <springframework.version>5.3.4</springframework.version>
        <!-- CQ #23233 -->
        <weld-se.version>4.0.2.Final</weld-se.version>
        <weblogic.version>12.2.1-3</weblogic.version>
        <wildfly.version>18.0.0.Final</wildfly.version>
        <wsdl4j.version>1.6.3</wsdl4j.version>
    </properties>

    <!-- Default modules set and added to by all profiles -->
    <modules>
        <module>jpa/org.eclipse.persistence.jpa.jpql</module>

        <module>foundation/org.eclipse.persistence.core</module>

        <module>jpa/org.eclipse.persistence.jpa</module>
        <module>jpa/org.eclipse.persistence.jpa.modelgen</module>
        <module>jpa/org.eclipse.persistence.jpars</module>
        <module>jpa/org.eclipse.persistence.jpars.server</module>

        <module>foundation/org.eclipse.persistence.corba</module>
        <module>foundation/org.eclipse.persistence.extension</module>
        <module>foundation/org.eclipse.persistence.nosql</module>

        <module>moxy/org.eclipse.persistence.moxy</module>
        <module>moxy/org.eclipse.persistence.moxy.utils.xjc</module>

        <module>dbws/org.eclipse.persistence.dbws</module>

        <module>sdo/org.eclipse.persistence.sdo</module>

        <!--Utility modules-->
        <module>utils/org.eclipse.persistence.dbws.builder</module>
        <module>utils/eclipselink.utils.rename</module>

        <!--Oracle Extensions-->
        <module>foundation/org.eclipse.persistence.oracle</module>
        <module>foundation/org.eclipse.persistence.oracle.nosql</module>

        <!--EclipseLink Bundles-->
        <module>bundles</module>
    </modules>

    <dependencyManagement>
        <dependencies>
            <!-- our artifacts TODO: this belongs to BOM pom-->
            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.parent</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.asm</artifactId>
                <version>${eclipselink.asm.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.asm</artifactId>
                <version>${eclipselink.asm.version}</version>
                <classifier>sources</classifier>
            </dependency>

            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.corba</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.corba</artifactId>
                <version>${project.version}</version>
                <classifier>sources</classifier>
            </dependency>

            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.core</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.core</artifactId>
                <version>${project.version}</version>
                <classifier>sources</classifier>
            </dependency>

            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.dbws</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.dbws</artifactId>
                <version>${project.version}</version>
                <classifier>sources</classifier>
            </dependency>

            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.dbws.builder</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.dbws.builder</artifactId>
                <version>${project.version}</version>
                <classifier>sources</classifier>
            </dependency>

            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.extension</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.extension</artifactId>
                <version>${project.version}</version>
                <classifier>sources</classifier>
            </dependency>

            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.jpa</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.jpa</artifactId>
                <version>${project.version}</version>
                <classifier>sources</classifier>
            </dependency>

            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.jpa.jpql</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.jpa.jpql</artifactId>
                <version>${project.version}</version>
                <classifier>sources</classifier>
            </dependency>

            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.jpa.modelgen.processor</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.jpa.modelgen.processor</artifactId>
                <version>${project.version}</version>
                <classifier>sources</classifier>
            </dependency>

            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.jpars.server</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.jpars.server</artifactId>
                <version>${project.version}</version>
                <classifier>sources</classifier>
            </dependency>

            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.jpars</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.jpars</artifactId>
                <version>${project.version}</version>
                <classifier>sources</classifier>
            </dependency>

            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.moxy</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.moxy</artifactId>
                <version>${project.version}</version>
                <classifier>sources</classifier>
            </dependency>

            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.moxy.utils.xjc</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.moxy.utils.xjc</artifactId>
                <version>${project.version}</version>
                <classifier>sources</classifier>
            </dependency>

            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.nosql</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.nosql</artifactId>
                <version>${project.version}</version>
                <classifier>sources</classifier>
            </dependency>

            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.oracle</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.oracle</artifactId>
                <version>${project.version}</version>
                <classifier>sources</classifier>
            </dependency>

            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.oracle.nosql</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.oracle.nosql</artifactId>
                <version>${project.version}</version>
                <classifier>sources</classifier>
            </dependency>

            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.oracle.spatial</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.oracle.spatial</artifactId>
                <version>${project.version}</version>
                <classifier>sources</classifier>
            </dependency>

            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.sdo</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.sdo</artifactId>
                <version>${project.version}</version>
                <classifier>sources</classifier>
            </dependency>

            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>eclipselink</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>eclipselink</artifactId>
                <version>${project.version}</version>
                <classifier>sources</classifier>
            </dependency>

            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.utils.rename</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.utils.rename</artifactId>
                <version>${project.version}</version>
                <classifier>sources</classifier>
            </dependency>

            <!-- our TEST artifacts TODO: this belongs to BOM pom-->
            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.core.test.framework</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.core.test.framework</artifactId>
                <version>${project.version}</version>
                <classifier>sources</classifier>
            </dependency>

            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.jpa.test.framework</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.jpa.test.framework</artifactId>
                <version>${project.version}</version>
                <classifier>sources</classifier>
            </dependency>

            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.core</artifactId>
                <version>${project.version}</version>
                <type>test-jar</type>
            </dependency>
            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.core.test</artifactId>
                <version>${project.version}</version>
                <type>test-jar</type>
            </dependency>
            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.jpa.test</artifactId>
                <version>${project.version}</version>
                <type>test-jar</type>
            </dependency>
            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.nosql</artifactId>
                <version>${project.version}</version>
                <type>test-jar</type>
            </dependency>

            <!--API/Implementation dependencies-->
            <dependency>
                <groupId>jakarta.activation</groupId>
                <artifactId>jakarta.activation-api</artifactId>
                <version>${activation-api.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.angus</groupId>
                <artifactId>angus-activation</artifactId>
                <version>${angus-activation.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.mail</groupId>
                <artifactId>jakarta.mail-api</artifactId>
                <version>${mail-api.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.angus</groupId>
                <artifactId>angus-mail</artifactId>
                <version>${angus-mail.version}</version>
            </dependency>
            <dependency>
                <groupId>com.sun.xml.bind</groupId>
                <artifactId>jaxb-core</artifactId>
                <version>${jaxb.version}</version>
            </dependency>
            <dependency>
                <groupId>com.sun.xml.bind</groupId>
                <artifactId>jaxb-impl</artifactId>
                <version>${jaxb.version}</version>
            </dependency>
            <dependency>
                <groupId>com.sun.xml.bind</groupId>
                <artifactId>jaxb-xjc</artifactId>
                <version>${jaxb.version}</version>
            </dependency>
            <dependency>
                <groupId>com.sun.xml.ws</groupId>
                <artifactId>jaxws-rt</artifactId>
                <version>${jaxwsrt.version}</version>
            </dependency>
            <dependency>
                <groupId>com.sun.xml.ws</groupId>
                <artifactId>jaxws-eclipselink-plugin</artifactId>
                <version>${jaxwsrt.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.annotation</groupId>
                <artifactId>jakarta.annotation-api</artifactId>
                <version>${annotation.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.ejb</groupId>
                <artifactId>jakarta.ejb-api</artifactId>
                <version>${ejb.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.enterprise</groupId>
                <artifactId>jakarta.enterprise.cdi-api</artifactId>
                <version>${cdi.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.jms</groupId>
                <artifactId>jakarta.jms-api</artifactId>
                <version>${jms.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.json</groupId>
                <artifactId>jakarta.json-api</artifactId>
                <version>${json.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.persistence</groupId>
                <artifactId>jakarta.persistence-api</artifactId>
                <version>${jpa.api.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.mail</groupId>
                <artifactId>jakarta.mail-api</artifactId>
                <version>${mail.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.resource</groupId>
                <artifactId>jakarta.resource-api</artifactId>
                <version>${resource.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.servlet</groupId>
                <artifactId>jakarta.servlet-api</artifactId>
                <version>${servlet.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.transaction</groupId>
                <artifactId>jakarta.transaction-api</artifactId>
                <version>${transaction.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.validation</groupId>
                <artifactId>jakarta.validation-api</artifactId>
                <version>${validation.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.xml.bind</groupId>
                <artifactId>jakarta.xml.bind-api</artifactId>
                <version>${jaxb.api.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>jakarta.xml.bind</groupId>
                <artifactId>jakarta.xml.bind-api</artifactId>
                <version>${jaxb.api.version}</version>
                <classifier>sources</classifier>
            </dependency>
            <dependency>
                <groupId>jakarta.xml.soap</groupId>
                <artifactId>jakarta.xml.soap-api</artifactId>
                <version>${soap.api.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>jakarta.xml.ws</groupId>
                <artifactId>jakarta.xml.ws-api</artifactId>
                <version>${ws-api.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>jakarta.ws.rs</groupId>
                <artifactId>jakarta.ws.rs-api</artifactId>
                <version>${ws-rs.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.ant</groupId>
                <artifactId>ant</artifactId>
                <version>${ant.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.felix</groupId>
                <artifactId>org.apache.felix.framework</artifactId>
                <version>${apache.felix.framework.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>commonj.sdo</artifactId>
                <version>${commonj.sdo.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>commonj.sdo</artifactId>
                <version>${commonj.sdo.version}</version>
                <classifier>sources</classifier>
            </dependency>
            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.oracleddlparser</artifactId>
                <version>${oracle.ddlparser.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.oracleddlparser</artifactId>
                <version>${oracle.ddlparser.version}</version>
                <classifier>sources</classifier>
            </dependency>
            <dependency>
                <groupId>org.eclipse.parsson</groupId>
                <artifactId>parsson</artifactId>
                <version>${parsson.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.corba</groupId>
                <artifactId>glassfish-corba-omgapi</artifactId>
                <version>${org.glassfish.corba.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.corba</groupId>
                <artifactId>glassfish-corba-orb</artifactId>
                <version>${org.glassfish.corba.version}</version>
            </dependency>
            <dependency>
                <groupId>org.jgroups</groupId>
                <artifactId>jgroups</artifactId>
                <version>${jgroups.version}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <dependency>
                <groupId>wsdl4j</groupId>
                <artifactId>wsdl4j</artifactId>
                <version>${wsdl4j.version}</version>
            </dependency>
            <!--NoSQL DBs-->
            <!--Mongo DB-->
            <dependency>
                <groupId>org.mongodb</groupId>
                <artifactId>mongo-java-driver</artifactId>
                <version>${mongodb.version}</version>
            </dependency>
            <!--Oracle proprietary dependencies-->
            <!--Oracle NoSQL DB-->
            <dependency>
                <groupId>com.oracle.kv</groupId>
                <artifactId>oracle-nosql-client</artifactId>
                <version>${oracle.nosql.version}</version>
            </dependency>
            <!-- All files as a Oracle JDBC driver CQ #21154 -->
            <dependency>
                <groupId>com.oracle.database.jdbc</groupId>
                <artifactId>ojdbc8</artifactId>
                <version>${oracle.jdbc.version}</version>
            </dependency>
            <dependency>
                <groupId>com.oracle.database.xml</groupId>
                <artifactId>xmlparserv2</artifactId>
                <version>${oracle.jdbc.version}</version>
            </dependency>
            <dependency>
                <groupId>com.oracle.database.jdbc</groupId>
                <artifactId>ucp</artifactId>
                <version>${oracle.jdbc.version}</version>
            </dependency>
            <dependency>
                <groupId>com.oracle.database.xml</groupId>
                <artifactId>xdb</artifactId>
                <version>${oracle.jdbc.version}</version>
            </dependency>
            <dependency>
                <groupId>com.oracle.database.observability</groupId>
                <artifactId>dms</artifactId>
                <version>${oracle.jdbc.version}</version>
            </dependency>
            <dependency>
                <groupId>com.oracle.database.ha</groupId>
                <artifactId>simplefan</artifactId>
                <version>${oracle.jdbc.version}</version>
            </dependency>
            <dependency>
                <groupId>com.oracle.database.ha</groupId>
                <artifactId>ons</artifactId>
                <version>${oracle.jdbc.version}</version>
            </dependency>
            <!--TODO resolve dependency later
                                <dependency>
                                    <groupId>com.oracle.spatial</groupId>
                                    <artifactId>sdoapi</artifactId>
                                    <version>${oracle.version}</version>
                                </dependency>
            -->
            <dependency>
                <groupId>com.oracle.database.nls</groupId>
                <artifactId>orai18n</artifactId>
                <version>${oracle.jdbc.version}</version>
            </dependency>
            <dependency>
                <groupId>com.oracle.database.messaging</groupId>
                <artifactId>aqapi</artifactId>
                <version>${oracle.aqapi.version}</version>
            </dependency>
            <!--Test dependencies-->
            <!--Test framework-->
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>${junit.version}</version>
            </dependency>
            <!--Required for JPA server test server-test-jpa21-sessionbean.-->
            <dependency>
                <groupId>org.hamcrest</groupId>
                <artifactId>hamcrest-core</artifactId>
                <version>${hamcrest.version}</version>
            </dependency>
            <!--APIs and other libs used in test classes-->
            <dependency>
                <groupId>org.jboss.weld.se</groupId>
                <artifactId>weld-se-core</artifactId>
                <version>${weld-se.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish</groupId>
                <artifactId>jakarta.el</artifactId>
                <version>${el.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.jersey.core</groupId>
                <artifactId>jersey-client</artifactId>
                <version>${jersey.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.jersey.core</groupId>
                <artifactId>jersey-common</artifactId>
                <version>${jersey.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.main.appclient</groupId>
                <artifactId>gf-client</artifactId>
                <version>${glassfish.version}</version>
            </dependency>
            <dependency>
                <groupId>org.openjdk.jmh</groupId>
                <artifactId>jmh-core</artifactId>
                <version>${jmh.version}</version>
            </dependency>
            <dependency>
                <groupId>org.openjdk.jmh</groupId>
                <artifactId>jmh-generator-annprocess</artifactId>
                <version>${jmh.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>${springframework.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-instrument</artifactId>
                <version>${springframework.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-orm</artifactId>
                <version>${springframework.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-test</artifactId>
                <version>${springframework.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-tx</artifactId>
                <version>${springframework.version}</version>
            </dependency>
            <!--JDBC drivers-->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>${mysql.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.derby</groupId>
                <artifactId>derbyclient</artifactId>
                <version>${derby.version}</version>
            </dependency>
            <dependency>
                <groupId>com.microsoft.sqlserver</groupId>
                <artifactId>mssql-jdbc</artifactId>
                <version>${mssql.version}</version>
            </dependency>
            <dependency>
                <groupId>org.postgresql</groupId>
                <artifactId>postgresql</artifactId>
                <version>${pgsql.version}</version>
            </dependency>
            <!--For Oracle DB driver see Oracle proprietary dependencies part. It's not limited to tests only-->
            <!-- Hibernate validator and it's dependencies -->
            <dependency>
                <groupId>org.hibernate.validator</groupId>
                <artifactId>hibernate-validator</artifactId>
                <version>${hibernate.version}</version>
            </dependency>
            <!--PaxExam -->
            <dependency>
                <groupId>org.ops4j.pax.exam</groupId>
                <artifactId>pax-exam</artifactId>
                <version>${exam.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.exam</groupId>
                <artifactId>pax-exam-container-forked</artifactId>
                <version>${exam.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.exam</groupId>
                <artifactId>pax-exam-junit4</artifactId>
                <version>${exam.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.exam</groupId>
                <artifactId>pax-exam-link-mvn</artifactId>
                <version>${exam.version}</version>
            </dependency>
            <!--Test Logging, required by Pax and extension module-->
            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-core</artifactId>
                <version>${logback.version}</version>
            </dependency>
            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-classic</artifactId>
                <version>${logback.version}</version>
            </dependency>
            <!--Test OSGi core-->
            <dependency>
                <groupId>org.osgi</groupId>
                <artifactId>org.osgi.core</artifactId>
                <version>${osgi.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>com.coderplus.maven.plugins</groupId>
                    <artifactId>copy-rename-maven-plugin</artifactId>
                    <version>1.0.1</version>
                </plugin>
                <plugin>
                    <groupId>com.googlecode.maven-download-plugin</groupId>
                    <artifactId>download-maven-plugin</artifactId>
                    <version>1.6.1</version>
                </plugin>
                <plugin>
                    <groupId>com.google.code.maven-replacer-plugin</groupId>
                    <artifactId>replacer</artifactId>
                    <version>1.5.3</version>
                </plugin>
                <plugin>
                    <groupId>com.soebes.maven.plugins</groupId>
                    <artifactId>iterator-maven-plugin</artifactId>
                    <version>0.5.1</version>
                </plugin>
                <plugin>
                    <groupId>com.sun.wts.tools.ant</groupId>
                    <artifactId>package-rename-task</artifactId>
                    <version>1.5.2</version>
                </plugin>
                <plugin>
                    <groupId>de.empulse.eclipselink</groupId>
                    <artifactId>staticweave-maven-plugin</artifactId>
                    <version>1.0.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.felix</groupId>
                    <artifactId>maven-bundle-plugin</artifactId>
                    <version>5.1.1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-antrun-plugin</artifactId>
                    <version>3.0.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <version>3.3.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-clean-plugin</artifactId>
                    <version>3.1.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.8.1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <version>3.1.2</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-enforcer-plugin</artifactId>
                    <version>3.0.0-M3</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-failsafe-plugin</artifactId>
                    <version>3.0.0-M4</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-install-plugin</artifactId>
                    <version>3.0.0-M1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>3.2.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>3.2.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>3.1.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-site-plugin</artifactId>
                    <version>3.9.1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-source-plugin</artifactId>
                    <version>3.2.1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>3.0.0-M5</version>
                    <configuration>
                        <useModulePath>false</useModulePath>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-report-plugin</artifactId>
                    <version>3.0.0-M5</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>3.3.1</version>
                </plugin>
                <plugin>
                    <groupId>org.bsc.maven</groupId>
                    <artifactId>maven-processor-plugin</artifactId>
                    <version>4.5-jdk8</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.cargo</groupId>
                    <artifactId>cargo-maven2-plugin</artifactId>
                    <version>1.7.7</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.gmaven</groupId>
                    <artifactId>groovy-maven-plugin</artifactId>
                    <version>2.1.1</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>build-helper-maven-plugin</artifactId>
                    <version>3.2.0</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>buildnumber-maven-plugin</artifactId>
                    <version>1.4</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>exec-maven-plugin</artifactId>
                    <version>3.0.0</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>sql-maven-plugin</artifactId>
                    <version>1.5</version>
                    <dependencies>
                        <dependency>
                            <groupId>${db.driver.groupId}</groupId>
                            <artifactId>${db.driver.artifactId}</artifactId>
                            <version>${db.driver.version}</version>
                        </dependency>
                    </dependencies>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>xml-maven-plugin</artifactId>
                    <version>1.0.2</version>
                </plugin>
                <!--This plugin (g:org.kuali.maven.plugins) is used instead typical org.codehaus.mojo:properties-maven-plugin:1.0.0
                    due bug: "Circular property definition" if expression like this is used in the Maven pom
                    "<server.testrunner.prefix>${modelname}/${modelname}_ejb/</server.testrunner.prefix>"
                    -->
                <plugin>
                    <groupId>org.kuali.maven.plugins</groupId>
                    <artifactId>properties-maven-plugin</artifactId>
                    <version>2.0.1</version>
                </plugin>
                <plugin>
                    <groupId>org.reficio</groupId>
                    <artifactId>p2-maven-plugin</artifactId>
                    <version>1.5.0</version>
                </plugin>
                <plugin>
                    <groupId>org.carlspring.maven</groupId>
                    <artifactId>derby-maven-plugin</artifactId>
                    <version>1.10</version>
                    <dependencies>
                        <dependency>
                            <groupId>org.apache.derby</groupId>
                            <artifactId>derby</artifactId>
                            <version>${derby.version}</version>
                        </dependency>
                        <dependency>
                            <groupId>org.apache.derby</groupId>
                            <artifactId>derbyclient</artifactId>
                            <version>${derby.version}</version>
                        </dependency>
                        <dependency>
                            <groupId>org.apache.derby</groupId>
                            <artifactId>derbynet</artifactId>
                            <version>${derby.version}</version>
                        </dependency>
                    </dependencies>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-checkstyle-plugin</artifactId>
                    <version>3.1.2</version>
                    <dependencies>
                        <dependency>
                            <groupId>com.puppycrawl.tools</groupId>
                            <artifactId>checkstyle</artifactId>
                            <version>${checkstyle.version}</version>
                        </dependency>
                    </dependencies>
                    <configuration>
                        <checkstyleRules>
                            <module name="Checker">
                                <module name="FileTabCharacter">
                                    <property name="eachLine" value="true" />
                                </module>
                            </module>
                        </checkstyleRules>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>com.github.spotbugs</groupId>
                    <artifactId>spotbugs-maven-plugin</artifactId>
                    <version>4.3.0</version>
                    <dependencies>
                        <dependency>
                            <groupId>com.github.spotbugs</groupId>
                            <artifactId>spotbugs</artifactId>
                            <version>${spotbugs.version}</version>
                        </dependency>
                    </dependencies>
                    <configuration>
                        <skip>${spotbugs.skip}</skip>
                        <threshold>${spotbugs.threshold}</threshold>
                        <excludeFilterFile>${spotbugs.common},${spotbugs.exclude}</excludeFilterFile>
                        <fork>true</fork>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>

        <plugins>
            <!--Minimal JDK version-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <release>${maven.compiler.release}</release>
                    <testRelease>${maven.compiler.testRelease}</testRelease>
                    <showWarnings>true</showWarnings>
                    <showDeprecation>true</showDeprecation>
                </configuration>
                <executions>
                    <execution>
                        <id>default-compile</id>
                        <configuration>
                            <compilerArgs combine.children="append">
                                <arg>${comp.xlint}</arg>
                                <arg>${comp.xdoclint}</arg>
                                <arg>-Xmaxwarns</arg>
                                <arg>${warn.limit}</arg>
                                <arg>-Xmaxerrs</arg>
                                <arg>${warn.limit}</arg>
                            </compilerArgs>
                        </configuration>
                    </execution>
                    <execution>
                        <id>default-testCompile</id>
                        <configuration>
                            <compilerArgs combine.children="append">
                                <arg>${comp.test.xlint}</arg>
                                <arg>${comp.xdoclint}</arg>
                                <arg>-Xmaxwarns</arg>
                                <arg>${warn.limit}</arg>
                                <arg>-Xmaxerrs</arg>
                                <arg>${warn.limit}</arg>
                            </compilerArgs>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <executions>
                    <execution>
                        <id>build-resources</id>
                        <phase>initialize</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                        <inherited>false</inherited>
                        <configuration>
                            <descriptors>
                                <descriptor>src/main/assembly/common-license.xml</descriptor>
                                <descriptor>src/main/assembly/test-defaults.xml</descriptor>
                                <descriptor>src/main/assembly/spotbugs-filter.xml</descriptor>
                            </descriptors>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <executions>
                    <execution>
                        <id>unpack-legal-resource</id>
                        <phase>generate-resources</phase>
                        <goals>
                            <goal>unpack</goal>
                        </goals>
                        <configuration>
                            <artifactItems>
                                <artifactItem>
                                    <groupId>${project.groupId}</groupId>
                                    <artifactId>org.eclipse.persistence.parent</artifactId>
                                    <version>${project.version}</version>
                                    <classifier>common-license</classifier>
                                    <type>zip</type>
                                    <outputDirectory>${project.build.licenceResourceDirectory}</outputDirectory>
                                </artifactItem>
                            </artifactItems>
                        </configuration>
                    </execution>
                    <execution>
                        <id>unpack-test-properties</id>
                        <phase>initialize</phase>
                        <goals>
                            <goal>unpack</goal>
                        </goals>
                        <configuration>
                            <artifactItems>
                                <artifactItem>
                                    <groupId>${project.groupId}</groupId>
                                    <artifactId>org.eclipse.persistence.parent</artifactId>
                                    <version>${project.version}</version>
                                    <classifier>test-defaults</classifier>
                                    <type>zip</type>
                                    <outputDirectory>${test.properties.default.directory}</outputDirectory>
                                </artifactItem>
                            </artifactItems>
                        </configuration>
                    </execution>
                    <execution>
                        <id>unpack-spotbugs-filter</id>
                        <phase>initialize</phase>
                        <goals>
                            <goal>unpack</goal>
                        </goals>
                        <configuration>
                            <artifactItems>
                                <artifactItem>
                                    <groupId>${project.groupId}</groupId>
                                    <artifactId>org.eclipse.persistence.parent</artifactId>
                                    <version>${project.version}</version>
                                    <classifier>spotbugs-filter</classifier>
                                    <type>zip</type>
                                    <outputDirectory>${project.build.directory}</outputDirectory>
                                </artifactItem>
                            </artifactItems>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>build-helper-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <id>release.version-property</id>
                        <goals>
                            <goal>regex-property</goal>
                        </goals>
                        <configuration>
                            <name>release.version</name>
                            <value>${project.version}</value>
                            <regex>-SNAPSHOT</regex>
                            <replacement></replacement>
                            <failIfNoMatch>false</failIfNoMatch>
                        </configuration>
                    </execution>
                    <execution>
                        <id>add-integration-test-sources</id>
                        <!--<phase>generate-resources</phase>-->
                        <goals>
                            <goal>add-test-source</goal>
                        </goals>
                        <configuration>
                            <sources>
                                <source>${integration.test.sources.directory}</source>
                            </sources>
                        </configuration>
                    </execution>
                    <execution>
                        <id>add-integration-test-resources</id>
                        <!--<phase>generate-resources</phase>-->
                        <goals>
                            <goal>add-test-resource</goal>
                        </goals>
                        <configuration>
                            <resources>
                                <resource>
                                    <directory>${integration.test.resources.directory}</directory>
                                </resource>
                            </resources>
                        </configuration>
                    </execution>
                    <execution>
                        <id>add-legal-resource</id>
                        <!--<phase>generate-resources</phase>-->
                        <goals>
                            <goal>add-resource</goal>
                        </goals>
                        <configuration>
                            <resources>
                                <resource>
                                    <directory>${project.build.licenceResourceDirectory}/md</directory>
                                    <includes>*</includes>
                                    <targetPath>META-INF</targetPath>
                                </resource>
                            </resources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <!--Load maven test properties from file-->
            <plugin>
                <!--This plugin (g:org.kuali.maven.plugins) is used instead typical org.codehaus.mojo:properties-maven-plugin:1.0.0
                    due bug: "Circular property definition" if expression like this is used in the Maven pom
                    "<server.testrunner.prefix>${modelname}/${modelname}_ejb/</server.testrunner.prefix>"
                    -->
                <groupId>org.kuali.maven.plugins</groupId>
                <artifactId>properties-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <id>read-db-jee-properties</id>
                        <phase>initialize</phase>
                        <goals>
                            <goal>read-project-properties</goal>
                        </goals>
                        <configuration>
                            <locations>
                                <location>${test.properties.file}</location>
                                <location>${testjee.properties.file}</location>
                            </locations>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <!--Generate OSGi bundle/manifest-->
            <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-bundle-plugin</artifactId>
                <configuration>
                    <niceManifest>true</niceManifest>
                    <instructions>
                         <_noextraheaders>true</_noextraheaders>
                        <HK2-Bundle-Name>${project.groupId}:${project.artifactId}</HK2-Bundle-Name>
                    </instructions>
                </configuration>
                <executions>
                    <execution>
                        <id>bundle-manifest</id>
                        <goals>
                            <goal>manifest</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <!--Enforce certain Maven version-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-enforcer-plugin</artifactId>
                <version>3.0.0-M3</version>
                <executions>
                    <execution>
                        <id>enforce-maven</id>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                        <configuration>
                            <rules>
                                <requireJavaVersion>
                                    <version>[11,)</version>
                                </requireJavaVersion>
                                <requireMavenVersion>
                                    <version>[3.6.3,)</version>
                                </requireMavenVersion>
                            </rules>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <!--Create jar file with classes and manifest with OSGi entries-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <archive>
                        <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
                    </archive>
                </configuration>
            </plugin>
            <!--Create jar file with source files and manifest with OSGi entries-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <executions>
                    <execution>
                        <id>attach-sources</id>
                        <phase>prepare-package</phase>
                        <goals>
                            <goal>jar-no-fork</goal>
                        </goals>
                        <configuration>
                            <archive>
                                <manifestEntries>
                                    <Bundle-ManifestVersion>2</Bundle-ManifestVersion>
                                    <Bundle-Name>${project.name} Source</Bundle-Name>
                                    <Bundle-SymbolicName>${project.artifactId}.source</Bundle-SymbolicName>
                                    <Bundle-Vendor>${project.organization.name}</Bundle-Vendor>
                                    <Bundle-Version>${bundle.version}</Bundle-Version>
                                    <Eclipse-SourceBundle>${project.artifactId};version="${bundle.version}"</Eclipse-SourceBundle>
                                </manifestEntries>
                            </archive>
                        </configuration>
                    </execution>
                    <execution>
                        <id>attach-test-sources</id>
                        <phase>prepare-package</phase>
                        <goals>
                            <goal>test-jar-no-fork</goal>
                        </goals>
                        <configuration>
                            <archive>
                                <manifestEntries>
                                    <Bundle-ManifestVersion>2</Bundle-ManifestVersion>
                                    <Bundle-Name>${project.name} Test Source</Bundle-Name>
                                    <Bundle-SymbolicName>${project.artifactId}.test.source</Bundle-SymbolicName>
                                    <Bundle-Vendor>${project.organization.name}</Bundle-Vendor>
                                    <Bundle-Version>${bundle.version}</Bundle-Version>
                                    <Eclipse-SourceBundle>${project.artifactId};version="${bundle.version}"</Eclipse-SourceBundle>
                                </manifestEntries>
                            </archive>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>sql-maven-plugin</artifactId>
                <!-- common configuration shared by all executions -->
                <configuration>
                    <driver>${db.driver}</driver>
                    <url>${db.url}</url>
                    <username>${db.user}</username>
                    <password>${db.pwd}</password>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.carlspring.maven</groupId>
                <artifactId>derby-maven-plugin</artifactId>
                <configuration>
                    <derbyHome>${project.build.directory}/derby</derbyHome>
                    <username>${db.user}</username>
                    <password>${db.pwd}</password>
                    <driver>${db.driver}</driver>
                    <connectionURL>${db.url}</connectionURL>
                    <!--Log SQL statements.-->
                    <!--<debugStatements>true</debugStatements>-->
                    <skip>${test.skip.in-memory.db}</skip>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-report-plugin</artifactId>
                <configuration>
                    <linkXRef>false</linkXRef>
                </configuration>
                <executions>
                    <execution>
                        <id>generate-surefire-html-report</id>
                        <phase>test</phase>
                        <goals>
                            <goal>report-only</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.build.directory}/surefire-reports</outputDirectory>
                        </configuration>
                    </execution>
                    <execution>
                        <id>generate-failsafe-html-report</id>
                        <phase>post-integration-test</phase>
                        <goals>
                            <goal>failsafe-report-only</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.build.directory}/failsafe-reports</outputDirectory>
                        </configuration>
                    </execution>
                    <execution>
                        <id>generate-test-summary-html-report</id>
                        <phase>post-integration-test</phase>
                        <goals>
                            <goal>failsafe-report-only</goal>
                        </goals>
                        <configuration>
                            <reportsDirectories>
                                <reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory>
                                <reportsDirectory>${project.build.directory}/failsafe-reports</reportsDirectory>
                            </reportsDirectories>
                            <outputDirectory>${project.build.directory}/${project.build.testReports.subdirectory}</outputDirectory>
                            <outputName>${project.build.testReports.summaryFile}</outputName>
                            <title>${project.name} - Test Summary (more details on ${env.BUILD_URL} )</title>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <configuration>
                    <additionalOptions combine.children="append">
                        <additionalOption>-Xmaxwarns</additionalOption>
                        <additionalOption>${warn.limit}</additionalOption>
                        <additionalOption>-Xmaxerrs</additionalOption>
                        <additionalOption>${warn.limit}</additionalOption>
                    </additionalOptions>
                    <minmemory>2G</minmemory>
                    <release>${maven.compiler.release}</release>
                    <doclint>${jdoc.doclint}</doclint>
                    <quiet>true</quiet>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-checkstyle-plugin</artifactId>
                <executions>
                    <execution>
                        <id>checkstyle</id>
                        <phase>validate</phase>
                        <goals>
                            <goal>check</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

    <profiles>
        <!--Testing database profiles-->
        <!--TODO simplify properties part db.driver.XXXX to load it from file-->
        <profile>
            <id>derby</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <test.properties.file>${user.home}/${test.derby.properties.file}</test.properties.file>
                <test.properties.fileName>${test.derby.properties.file}</test.properties.fileName>
                <test.database>derby</test.database>
                <!--Used by sql-maven-plugin-->
                <db.driver.groupId>org.apache.derby</db.driver.groupId>
                <db.driver.artifactId>derbyclient</db.driver.artifactId>
                <db.driver.version>${derby.version}</db.driver.version>
            </properties>
        </profile>
        <profile>
            <id>mysql</id>
            <properties>
                <test.properties.file>${user.home}/${test.mysql.properties.file}</test.properties.file>
                <test.properties.fileName>${test.mysql.properties.file}</test.properties.fileName>
                <!--Used by sql-maven-plugin-->
                <db.driver.groupId>mysql</db.driver.groupId>
                <db.driver.artifactId>mysql-connector-java</db.driver.artifactId>
                <db.driver.version>${mysql.version}</db.driver.version>
                <test.skip.in-memory.db>true</test.skip.in-memory.db>
            </properties>
        </profile>
        <profile>
            <id>mssql</id>
            <properties>
                <test.properties.file>${user.home}/${test.mssql.properties.file}</test.properties.file>
                <test.properties.fileName>${test.mssql.properties.file}</test.properties.fileName>
                <!--Used by sql-maven-plugin-->
                <db.driver.groupId>com.microsoft.sqlserver</db.driver.groupId>
                <db.driver.artifactId>mssql-jdbc</db.driver.artifactId>
                <db.driver.version>${mssql.version}</db.driver.version>
                <test.skip.in-memory.db>true</test.skip.in-memory.db>
            </properties>
        </profile>
        <profile>
            <id>pgsql</id>
            <properties>
                <test.properties.file>${user.home}/${test.pgsql.properties.file}</test.properties.file>
                <test.properties.fileName>${test.pgsql.properties.file}</test.properties.fileName>
                <!--Used by sql-maven-plugin-->
                <db.driver.groupId>org.postgresql</db.driver.groupId>
                <db.driver.artifactId>postgresql</db.driver.artifactId>
                <db.driver.version>${pgsql.version}</db.driver.version>
                <test.skip.in-memory.db>true</test.skip.in-memory.db>
            </properties>
        </profile>
        <profile>
            <id>oracle</id>
            <properties>
                <test.properties.file>${user.home}/${test.oracle.properties.file}</test.properties.file>
                <test.properties.fileName>${test.oracle.properties.file}</test.properties.fileName>
                <!--Used by sql-maven-plugin-->
                <db.driver.groupId>com.oracle.database.jdbc</db.driver.groupId>
                <db.driver.artifactId>ojdbc8</db.driver.artifactId>
                <db.driver.version>${oracle.jdbc.version}</db.driver.version>
                <test.skip.in-memory.db>true</test.skip.in-memory.db>
            </properties>
        </profile>
        <!--TODO simplify properties part jee.client.XXXX to load it from file-->
        <!--Testing JEE server profiles WildFly, GlassFish, Weblogic-->
        <profile>
            <id>wildfly</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <testjee.properties.file>${user.home}/${testjee.wildfly.properties.file}</testjee.properties.file>
                <testjee.properties.fileName>${testjee.wildfly.properties.file}</testjee.properties.fileName>
                <jee.client.groupId>org.wildfly</jee.client.groupId>
                <jee.client.artifactId>wildfly-ejb-client-bom</jee.client.artifactId>
                <jee.client.version>${wildfly.version}</jee.client.version>
                <jee.client.type>pom</jee.client.type>
                <!--Download properties-->
                <installation.url>https://download.jboss.org/wildfly/18.0.0.Final/wildfly-18.0.0.Final.zip</installation.url>
                <installation.checksum.md5>8e4d435bb5d6fe466b478dc49d34bf27</installation.checksum.md5>
            </properties>
        </profile>
        <profile>
            <id>glassfish</id>
            <properties>
                <testjee.properties.file>${user.home}/${testjee.glassfish.properties.file}</testjee.properties.file>
                <testjee.properties.fileName>${testjee.glassfish.properties.file}</testjee.properties.fileName>
                <jee.client.groupId>org.glassfish.main.appclient</jee.client.groupId>
                <jee.client.artifactId>gf-client</jee.client.artifactId>
                <jee.client.version>${glassfish.version}</jee.client.version>
                <jee.client.type>jar</jee.client.type>
                <skip.glassfish.configuration>false</skip.glassfish.configuration>
                <!--Download properties-->
                <installation.url>https://repo1.maven.org/maven2/org/glassfish/main/distributions/glassfish/5.1.0/glassfish-5.1.0.zip</installation.url>
                <installation.checksum.md5>2ed2d211fd56e270f3daf8e2b5e01e30</installation.checksum.md5>
            </properties>
        </profile>
        <profile>
            <id>weblogic</id>
            <properties>
                <testjee.properties.file>${user.home}/${testjee.weblogic.properties.file}</testjee.properties.file>
                <testjee.properties.fileName>${testjee.weblogic.properties.file}</testjee.properties.fileName>
                <jee.client.groupId>com.oracle.weblogic</jee.client.groupId>
                <jee.client.artifactId>wlthint3client</jee.client.artifactId>
                <jee.client.version>${weblogic.version}</jee.client.version>
                <jee.client.type>jar</jee.client.type>
            </properties>
        </profile>
        <!--Activate perfomance tests module-->
        <profile>
            <id>test-performance</id>
            <modules>
                <!--Performance Tests module module-->
                <module>performance/eclipselink.perf.test</module>
            </modules>
        </profile>
        <!--INTERNAL - Test properties fallback. Expects, that mvn command is executed from project root directory.-->
        <profile>
            <id>test-properties-fallback</id>
            <activation>
                <file>
                    <missing>${test.properties.file}</missing>
                </file>
            </activation>
            <properties>
                <test.properties.file>${test.properties.default.directory}/${test.properties.fileName}</test.properties.file>
            </properties>
        </profile>
        <profile>
            <id>test-jee-properties-fallback</id>
            <activation>
                <file>
                    <missing>${testjee.properties.file}</missing>
                </file>
            </activation>
            <properties>
                <testjee.properties.file>${test.properties.default.directory}/${testjee.properties.fileName}</testjee.properties.file>
            </properties>
        </profile>
        <!--INTERNAL - Don't start In-Memory DB in case of -DskipTests switch-->
        <profile>
            <id>test-skip-check</id>
            <activation>
                <property>
                    <name>skipTests</name>
                    <value>true</value>
                </property>
            </activation>
            <properties>
                <test.skip.in-memory.db>true</test.skip.in-memory.db>
            </properties>
        </profile>
        <profile>
            <id>coding-standards</id>
            <properties>
                <copyright.exclude>etc/copyright-exclude</copyright.exclude>
                <copyright.ignoreyear>false</copyright.ignoreyear>
                <copyright.scmonly>true</copyright.scmonly>
                <copyright.template>etc/copyright.txt</copyright.template>
                <copyright.update>false</copyright.update>
            </properties>
            <build>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <groupId>org.glassfish.copyright</groupId>
                            <artifactId>glassfish-copyright-maven-plugin</artifactId>
                            <version>2.3</version>
                            <configuration>
                                <templateFile>${copyright.template}</templateFile>
                                <excludeFile>${copyright.exclude}</excludeFile>
                                <!-- skip files not under SCM-->
                                <scmOnly>${copyright.scmonly}</scmOnly>
                                <!-- for use with repair -->
                                <update>${copyright.update}</update>
                                <!-- check that year is correct -->
                                <ignoreYear>${copyright.ignoreyear}</ignoreYear>
                            </configuration>
                        </plugin>
                    </plugins>
                </pluginManagement>
                <plugins>
                    <plugin>
                        <groupId>org.glassfish.copyright</groupId>
                        <artifactId>glassfish-copyright-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>cp-check</id>
                                <goals>
                                    <!-- Note: this takes ~2 hours -->
                                    <goal>copyright</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>coverage</id>
            <build>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <groupId>org.jacoco</groupId>
                            <artifactId>jacoco-maven-plugin</artifactId>
                            <version>0.8.6</version>
                        </plugin>
                    </plugins>
                </pluginManagement>
                <plugins>
                    <plugin>
                        <groupId>org.jacoco</groupId>
                        <artifactId>jacoco-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>jacoco-prepare-agent</id>
                                <phase>process-test-resources</phase>
                                <goals>
                                    <goal>prepare-agent</goal>
                                </goals>
                            </execution>
                            <execution>
                                <id>jacoco-default-report</id>
                                <goals>
                                    <goal>report</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>no-deploy</id>
            <activation>
                <property>
                    <name>!deploy</name>
                </property>
            </activation>
            <modules>
                <!--Helper parent pom for server side test modules-->
                <module>testing/server</module>
                <module>testing/server-oracle</module>
                <module>foundation/org.eclipse.persistence.core.test.framework</module>
                <module>foundation/eclipselink.core.test</module>
                <module>jpa/org.eclipse.persistence.jpa.test.framework</module>
                <module>sdo/eclipselink.sdo.test.server</module>

                <!--JPA test modules-->
                <!--JPA test module (JSE, JEE tests)-->
                <module>jpa/eclipselink.jpa.test</module>
                <!--JPA NoSQL test module-->
                <module>jpa/eclipselink.jpa.nosql.test</module>
                <!--JPA JSE test module-->
                <module>jpa/eclipselink.jpa.test.jse</module>
                <!--JPA Spring test module-->
                <module>jpa/eclipselink.jpa.spring.test</module>
                <!--JPA WDF test module-->
                <module>jpa/eclipselink.jpa.wdf.test</module>

                <!-- Oracle DB specific tests -->
                <module>foundation/org.eclipse.persistence.oracle.test</module>
                <!--DBWS Oracle Test module module-->
                <module>dbws/eclipselink.dbws.test.oracle</module>
                <!--DBWS Builder Oracle Test modules-->
                <module>utils/eclipselink.dbws.builder.test.oracle</module>
                <module>utils/eclipselink.dbws.builder.test.oracle.server</module>

                <module>utils/eclipselink.utils.sigcompare</module>
            </modules>
        </profile>
        <profile>
            <id>extra-tests</id>
            <modules>
                <!--JPA JAXRS test module-->
                <!--TODO FIXIT Doesn't work well. -->
                <module>jpa/eclipselink.jaxrs.test</module>
                <!--JPA JPA-RS test module-->
                <!--TODO FIXIT Doesn't work well. -->
                <module>jpa/eclipselink.jpars.test</module>

                <!-- Oracle DB specific tests -->
                <!--TODO sdoapi dependency resolution is not solved-->
                <module>foundation/eclipselink.extension.oracle.spatial.test</module>
                <!--JPA test module-->
                <!--TODO sdoapi dependency resolution is not solved-->
                <module>jpa/eclipselink.jpa.oracle.test</module>
            </modules>
        </profile>
    </profiles>
</project>
