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

    Copyright (c) 2019, 2021 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>3.1.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.3.0</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.1.1</eclipselink.asm.version>
        <activation-api.version>2.1.0-RC1</activation-api.version>
        <angus-activation.version>1.0.0-M1</angus-activation.version>
        <annotation.version>2.0.0</annotation.version>
        <cdi.version>3.0.0</cdi.version>
        <ejb.version>4.0.0</ejb.version>
        <el.version>4.0.1</el.version>
        <glassfish.version>6.2.0</glassfish.version>
        <jaxwsrt.version>3.0.1</jaxwsrt.version>
        <jaxb.version>3.0.2-b01</jaxb.version>
        <jaxb.api.version>3.0.1</jaxb.api.version>
        <soap.api.version>2.0.1</soap.api.version>
        <jersey.version>3.0.2</jersey.version>
        <jms.version>3.0.0</jms.version>
        <json.version>2.0.1</json.version>
        <jpa.api.version>3.0.0</jpa.api.version>
        <mail.version>2.0.1</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.0.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.0</validation.version>
        <ws-api.version>3.0.1</ws-api.version>
        <ws-rs.version>3.0.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>5.1.49</mysql.version>
        <mssql.version>9.2.0.jre8</mssql.version>
        <pgsql.version>42.2.18</pgsql.version>
        <!-- CQ #21139, 21140 -->
        <logback.version>1.3.0-alpha5</logback.version>
        <oracle.jdbc.version>19.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>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</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.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>com.sun.mail</groupId>
                <artifactId>jakarta.mail</artifactId>
                <version>${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.ojdbc</groupId>
                <artifactId>ojdbc8</artifactId>
                <version>${oracle.jdbc.version}</version>
            </dependency>
            <dependency>
                <groupId>com.oracle.ojdbc</groupId>
                <artifactId>xmlparserv2</artifactId>
                <version>${oracle.jdbc.version}</version>
            </dependency>
            <dependency>
                <groupId>com.oracle.ojdbc</groupId>
                <artifactId>ucp</artifactId>
                <version>${oracle.jdbc.version}</version>
            </dependency>
            <dependency>
                <groupId>com.oracle.ojdbc</groupId>
                <artifactId>xdb</artifactId>
                <version>${oracle.jdbc.version}</version>
            </dependency>
            <dependency>
                <groupId>com.oracle.ojdbc</groupId>
                <artifactId>dms</artifactId>
                <version>${oracle.jdbc.version}</version>
            </dependency>
            <dependency>
                <groupId>com.oracle.ojdbc</groupId>
                <artifactId>simplefan</artifactId>
                <version>${oracle.jdbc.version}</version>
            </dependency>
            <dependency>
                <groupId>com.oracle.ojdbc</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.ojdbc</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>${spotbugs.version}</version>
                    <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.ojdbc</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>
