<?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>
        <!-- TOOL Properties -->
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <jdoc.doclint>all</jdoc.doclint>
        <!-- exclude big groups from the Xlint -->
        <comp.xlint>-Xlint:all,-rawtypes,-unchecked,-serial</comp.xlint>
        <!-- -Xdoclint:-missing does not seem to work properly on the infra -->
        <comp.xdoclint>-Xdoclint:none</comp.xdoclint>
        <warn.limit>150</warn.limit>

        <!-- 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>

        <!--Common properties-->
        <common.licenceFiles>LICENSE.md, NOTICE.md</common.licenceFiles>
        <!--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.root.location}/etc</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.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>
                <plugin>
                    <groupId>org.commonjava.maven.plugins</groupId>
                    <artifactId>directory-maven-plugin</artifactId>
                    <version>0.3.1</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>
            </plugins>
        </pluginManagement>

        <plugins>
            <!--Minimal JDK version-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <release>11</release>
                    <showWarnings>true</showWarnings>
                    <showDeprecation>true</showDeprecation>
                    <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>
            </plugin>
            <plugin>
                <groupId>org.commonjava.maven.plugins</groupId>
                <artifactId>directory-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <id>find-project-root</id>
                        <phase>validate</phase>
                        <goals>
                            <goal>highest-basedir</goal>
                        </goals>
                        <configuration>
                            <property>project.root.location</property>
                        </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.root.location}</directory>
                                    <includes>${common.licenceFiles}</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>11</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>pom_test_server.xml</module>
                <module>pom_oracle_test_server.xml</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>
