blob: d3e969d8d9eb187433109d0dd81af28cc3d6d531 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2019, 2022 Oracle and/or its affiliates. All rights reserved.
This program and the accompanying materials are made available under the
terms of the Eclipse Public License v. 2.0 which is available at
http://www.eclipse.org/legal/epl-2.0,
or the Eclipse Distribution License v. 1.0 which is available at
http://www.eclipse.org/org/documents/edl-v10.php.
SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
-->
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<name>EclipseLink Parent</name>
<description>Comprehensive and universal persistence framework for Java.</description>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.parent</artifactId>
<version>4.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<parent>
<groupId>org.eclipse.ee4j</groupId>
<artifactId>project</artifactId>
<version>1.0.6</version>
<relativePath/>
</parent>
<scm>
<connection>scm:git:https://github.com/eclipse-ee4j/eclipselink.git</connection>
<url>https://github.com/eclipse-ee4j/eclipselink.git</url>
</scm>
<organization>
<name>Eclipse.org - EclipseLink Project</name>
<url>http://www.eclipse.org/eclipselink</url>
</organization>
<inceptionYear>2007</inceptionYear>
<url>http://www.eclipse.org/eclipselink</url>
<licenses>
<license>
<name>Eclipse Public License - v 2.0</name>
<url>http://www.eclipse.org/legal/epl-2.0</url>
<distribution>repo</distribution>
</license>
<license>
<name>Eclipse Distribution License - v 1.0</name>
<url>http://www.eclipse.org/org/documents/edl-v10.php</url>
<distribution>repo</distribution>
</license>
</licenses>
<issueManagement>
<system>github</system>
<url>https://github.com/eclipse-ee4j/eclipselink/issues</url>
</issueManagement>
<mailingLists>
<mailingList>
<name>EclipseLink user's mailing list</name>
<post>eclipselink-users@eclipse.org</post>
<subscribe>https://accounts.eclipse.org/mailing-list/eclipselink-users</subscribe>
<unsubscribe>https://accounts.eclipse.org/mailing-list/eclipselink-users</unsubscribe>
<archive>https://dev.eclipse.org/mhonarc/lists/eclipselink-users/</archive>
</mailingList>
<mailingList>
<name>EclipseLink developer's mailing list</name>
<post>eclipselink-dev@eclipse.org</post>
<subscribe>https://accounts.eclipse.org/mailing-list/eclipselink-dev</subscribe>
<unsubscribe>https://accounts.eclipse.org/mailing-list/eclipselink-dev</unsubscribe>
<archive>https://dev.eclipse.org/mhonarc/lists/eclipselink-dev/</archive>
</mailingList>
</mailingLists>
<repositories>
<repository>
<id>sonatype-nexus-staging</id>
<name>Sonatype Nexus Staging</name>
<url>${sonatypeOssDistMgmtStagingUrl}</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<properties>
<!-- Minimum required JDK version -->
<maven.compiler.release>11</maven.compiler.release>
<maven.compiler.testRelease>11</maven.compiler.testRelease>
<!-- TOOL Properties -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<jdoc.doclint>all,-missing</jdoc.doclint>
<!-- exclude big groups from the Xlint -->
<comp.xlint>-Xlint:all,-serial</comp.xlint>
<comp.xdoclint>-Xdoclint:all,-missing</comp.xdoclint>
<comp.test.xlint>-Xlint:all,-rawtypes,-unchecked,-serial</comp.test.xlint>
<warn.limit>250</warn.limit>
<spotbugs.common>${project.build.directory}/spotbugs-exclude-common.xml</spotbugs.common>
<spotbugs.exclude/>
<spotbugs.skip>false</spotbugs.skip>
<spotbugs.threshold>Normal</spotbugs.threshold>
<spotbugs.version>4.4.1</spotbugs.version>
<!-- PROJECT Properties -->
<build.type>SNAPSHOT</build.type>
<maven.build.timestamp.format>yyyyMMddHHmm</maven.build.timestamp.format>
<build.qualifier>v${maven.build.timestamp}</build.qualifier>
<bundle.version>${project.version}.${build.qualifier}</bundle.version>
<project.build.testReports.subdirectory>test-reports</project.build.testReports.subdirectory>
<project.build.testReports.summaryFile>test-summary</project.build.testReports.summaryFile>
<project.build.licenceResourceDirectory>${project.build.directory}/license</project.build.licenceResourceDirectory>
<!--Integration test sources/resources directory. Relative directory to ${project.basedir}
!!!Can't start with / character!!!-->
<integration.test.directory>src/it/</integration.test.directory>
<integration.test.sources.directory>${integration.test.directory}/java/</integration.test.sources.directory>
<integration.test.resources.directory>${integration.test.directory}/resources/</integration.test.resources.directory>
<integration.test.skip.verify>false</integration.test.skip.verify>
<!--Default location for JEE servers binaries-->
<test.directory>${user.home}/.eclipselinktests</test.directory>
<installation.url>https://download.jboss.org/wildfly/18.0.0.Final/wildfly-18.0.0.Final.zip</installation.url>
<installation.checksum.md5>8e4d435bb5d6fe466b478dc49d34bf27</installation.checksum.md5>
<!--Test DB property file names-->
<test.mysql.properties.file>el-test.mysql.properties</test.mysql.properties.file>
<test.oracle.properties.file>el-test.oracle.properties</test.oracle.properties.file>
<test.mongodb.properties.file>el-test.mongodb.properties</test.mongodb.properties.file>
<test.derby.properties.file>el-test.derby.properties</test.derby.properties.file>
<test.mssql.properties.file>el-test.mssql.properties</test.mssql.properties.file>
<test.pgsql.properties.file>el-test.pgsql.properties</test.pgsql.properties.file>
<!--Default test DB is Derby-->
<test.properties.file>${user.home}/${test.derby.properties.file}</test.properties.file>
<test.properties.fileName>${test.derby.properties.file}</test.properties.fileName>
<test.properties.default.directory>${project.build.directory}/test-default-properties</test.properties.default.directory>
<test.database>derby</test.database>
<!--false: to start In-Memory database, true: not start (MySQL, Oracle)-->
<test.skip.in-memory.db>false</test.skip.in-memory.db>
<!--Test JEE server property file names-->
<testjee.glassfish.properties.file>el-testjee.glassfish.properties</testjee.glassfish.properties.file>
<testjee.weblogic.properties.file>el-testjee.weblogic.properties</testjee.weblogic.properties.file>
<testjee.wildfly.properties.file>el-testjee.wildfly.properties</testjee.wildfly.properties.file>
<!--Default test JEE Server is WildFly-->
<testjee.properties.file>${user.home}/${testjee.wildfly.properties.file}</testjee.properties.file>
<testjee.properties.fileName>${testjee.wildfly.properties.file}</testjee.properties.fileName>
<!--Default DB driver used for testing-->
<db.driver.groupId>org.apache.derby</db.driver.groupId>
<db.driver.artifactId>derbyclient</db.driver.artifactId>
<db.driver.version>${derby.version}</db.driver.version>
<!--Default JEE client used for EJB remote call (testing)-->
<jee.client.groupId>org.wildfly</jee.client.groupId>
<jee.client.artifactId>wildfly-ejb-client-bom</jee.client.artifactId>
<jee.client.version>${wildfly.version}</jee.client.version>
<jee.client.type>pom</jee.client.type>
<skip.glassfish.configuration>true</skip.glassfish.configuration>
<!--These properties are used in MOXy and SDO tests only-->
<test.xml.platform>org.eclipse.persistence.platform.xml.jaxp.JAXPPlatform</test.xml.platform>
<test.xml.parser>org.eclipse.persistence.platform.xml.jaxp.JAXPParser</test.xml.parser>
<!--Eclipse Dependencies version-->
<eclipselink.asm.version>9.2.0</eclipselink.asm.version>
<activation-api.version>2.1.0</activation-api.version>
<angus-activation.version>1.0.0</angus-activation.version>
<annotation.version>2.1.0</annotation.version>
<cdi.version>3.0.0</cdi.version>
<ejb.version>4.0.0</ejb.version>
<el.version>4.0.2</el.version>
<glassfish.version>6.2.3</glassfish.version>
<jaxwsrt.version>4.0.0-M1</jaxwsrt.version>
<jaxb.version>4.0.0-M2</jaxb.version>
<jaxb.api.version>4.0.0-RC3</jaxb.api.version>
<soap.api.version>3.0.0-RC2</soap.api.version>
<jersey.version>3.0.3</jersey.version>
<jms.version>3.0.0</jms.version>
<json.version>2.1.0</json.version>
<jpa.api.version>3.1.0-RC2</jpa.api.version>
<mail-api.version>2.1.0</mail-api.version>
<angus-mail.version>1.0.0</angus-mail.version>
<oracle.ddlparser.version>3.0.0</oracle.ddlparser.version>
<org.glassfish.corba.version>4.2.4</org.glassfish.corba.version>
<parsson.version>1.1.0</parsson.version>
<resource.version>2.0.0</resource.version>
<servlet.version>5.0.0</servlet.version>
<transaction.version>2.0.0</transaction.version>
<validation.version>3.0.1</validation.version>
<ws-api.version>4.0.0-RC2</ws-api.version>
<ws-rs.version>3.1.0</ws-rs.version>
<!--Third-Party Dependencies version-->
<!-- CQ #23046 -->
<apache.felix.framework.version>7.0.0</apache.felix.framework.version>
<!-- CQ #21133 -->
<ant.version>1.10.11</ant.version>
<commonj.sdo.version>2.1.1</commonj.sdo.version>
<derby.version>10.14.2.0</derby.version>
<!-- CQ #21134, 21135, 21136, 21137 -->
<exam.version>4.13.2</exam.version>
<hamcrest.version>1.3</hamcrest.version>
<!-- CQ #23048 -->
<hibernate.version>7.0.1.Final</hibernate.version>
<checkstyle.version>8.40</checkstyle.version>
<!-- CQ #23049 -->
<jgroups.version>4.2.11.Final</jgroups.version>
<jmh.version>1.27</jmh.version>
<junit.version>4.13.2</junit.version>
<!-- CQ #21138 -->
<mongodb.version>3.12.7</mongodb.version>
<mysql.version>8.0.27</mysql.version>
<mssql.version>9.2.0.jre8</mssql.version>
<pgsql.version>42.2.25</pgsql.version>
<!-- CQ #21139, 21140 -->
<logback.version>1.3.0-alpha5</logback.version>
<oracle.jdbc.version>21.3.0.0</oracle.jdbc.version>
<!-- CQ #2437 -->
<oracle.aqapi.version>19.3.0.0</oracle.aqapi.version>
<oracle.fmw.version>12.2.1-2-0</oracle.fmw.version>
<!-- CQ #21141 -->
<oracle.nosql.version>18.3.10</oracle.nosql.version>
<!-- CQ #21142 -->
<osgi.version>6.0.0</osgi.version>
<!-- CQ #21143 -->
<slf4j.version>2.0.0-alpha2</slf4j.version>
<!-- CQ #23051, 23052, 23053, 53054, 53055 -->
<springframework.version>5.3.4</springframework.version>
<!-- CQ #23233 -->
<weld-se.version>4.0.2.Final</weld-se.version>
<weblogic.version>12.2.1-3</weblogic.version>
<wildfly.version>18.0.0.Final</wildfly.version>
<wsdl4j.version>1.6.3</wsdl4j.version>
</properties>
<!-- Default modules set and added to by all profiles -->
<modules>
<module>jpa/org.eclipse.persistence.jpa.jpql</module>
<module>foundation/org.eclipse.persistence.core</module>
<module>jpa/org.eclipse.persistence.jpa</module>
<module>jpa/org.eclipse.persistence.jpa.modelgen</module>
<module>jpa/org.eclipse.persistence.jpars</module>
<module>jpa/org.eclipse.persistence.jpars.server</module>
<module>foundation/org.eclipse.persistence.corba</module>
<module>foundation/org.eclipse.persistence.extension</module>
<module>foundation/org.eclipse.persistence.nosql</module>
<module>moxy/org.eclipse.persistence.moxy</module>
<module>moxy/org.eclipse.persistence.moxy.utils.xjc</module>
<module>dbws/org.eclipse.persistence.dbws</module>
<module>sdo/org.eclipse.persistence.sdo</module>
<!--Utility modules-->
<module>utils/org.eclipse.persistence.dbws.builder</module>
<module>utils/eclipselink.utils.rename</module>
<!--Oracle Extensions-->
<module>foundation/org.eclipse.persistence.oracle</module>
<module>foundation/org.eclipse.persistence.oracle.nosql</module>
<!--EclipseLink Bundles-->
<module>bundles</module>
</modules>
<dependencyManagement>
<dependencies>
<!-- our artifacts TODO: this belongs to BOM pom-->
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.parent</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.asm</artifactId>
<version>${eclipselink.asm.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.asm</artifactId>
<version>${eclipselink.asm.version}</version>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.corba</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.corba</artifactId>
<version>${project.version}</version>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.core</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.core</artifactId>
<version>${project.version}</version>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.dbws</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.dbws</artifactId>
<version>${project.version}</version>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.dbws.builder</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.dbws.builder</artifactId>
<version>${project.version}</version>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.extension</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.extension</artifactId>
<version>${project.version}</version>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.jpa</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.jpa</artifactId>
<version>${project.version}</version>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.jpa.jpql</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.jpa.jpql</artifactId>
<version>${project.version}</version>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.jpa.modelgen.processor</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.jpa.modelgen.processor</artifactId>
<version>${project.version}</version>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.jpars.server</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.jpars.server</artifactId>
<version>${project.version}</version>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.jpars</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.jpars</artifactId>
<version>${project.version}</version>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.moxy</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.moxy</artifactId>
<version>${project.version}</version>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.moxy.utils.xjc</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.moxy.utils.xjc</artifactId>
<version>${project.version}</version>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.nosql</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.nosql</artifactId>
<version>${project.version}</version>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.oracle</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.oracle</artifactId>
<version>${project.version}</version>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.oracle.nosql</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.oracle.nosql</artifactId>
<version>${project.version}</version>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.oracle.spatial</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.oracle.spatial</artifactId>
<version>${project.version}</version>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.sdo</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.sdo</artifactId>
<version>${project.version}</version>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>eclipselink</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>eclipselink</artifactId>
<version>${project.version}</version>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.utils.rename</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.utils.rename</artifactId>
<version>${project.version}</version>
<classifier>sources</classifier>
</dependency>
<!-- our TEST artifacts TODO: this belongs to BOM pom-->
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.core.test.framework</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.core.test.framework</artifactId>
<version>${project.version}</version>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.jpa.test.framework</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.jpa.test.framework</artifactId>
<version>${project.version}</version>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.core</artifactId>
<version>${project.version}</version>
<type>test-jar</type>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.core.test</artifactId>
<version>${project.version}</version>
<type>test-jar</type>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.jpa.test</artifactId>
<version>${project.version}</version>
<type>test-jar</type>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.nosql</artifactId>
<version>${project.version}</version>
<type>test-jar</type>
</dependency>
<!--API/Implementation dependencies-->
<dependency>
<groupId>jakarta.activation</groupId>
<artifactId>jakarta.activation-api</artifactId>
<version>${activation-api.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.angus</groupId>
<artifactId>angus-activation</artifactId>
<version>${angus-activation.version}</version>
</dependency>
<dependency>
<groupId>jakarta.mail</groupId>
<artifactId>jakarta.mail-api</artifactId>
<version>${mail-api.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.angus</groupId>
<artifactId>angus-mail</artifactId>
<version>${angus-mail.version}</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-core</artifactId>
<version>${jaxb.version}</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>${jaxb.version}</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-xjc</artifactId>
<version>${jaxb.version}</version>
</dependency>
<dependency>
<groupId>com.sun.xml.ws</groupId>
<artifactId>jaxws-rt</artifactId>
<version>${jaxwsrt.version}</version>
</dependency>
<dependency>
<groupId>com.sun.xml.ws</groupId>
<artifactId>jaxws-eclipselink-plugin</artifactId>
<version>${jaxwsrt.version}</version>
</dependency>
<dependency>
<groupId>jakarta.annotation</groupId>
<artifactId>jakarta.annotation-api</artifactId>
<version>${annotation.version}</version>
</dependency>
<dependency>
<groupId>jakarta.ejb</groupId>
<artifactId>jakarta.ejb-api</artifactId>
<version>${ejb.version}</version>
</dependency>
<dependency>
<groupId>jakarta.enterprise</groupId>
<artifactId>jakarta.enterprise.cdi-api</artifactId>
<version>${cdi.version}</version>
</dependency>
<dependency>
<groupId>jakarta.jms</groupId>
<artifactId>jakarta.jms-api</artifactId>
<version>${jms.version}</version>
</dependency>
<dependency>
<groupId>jakarta.json</groupId>
<artifactId>jakarta.json-api</artifactId>
<version>${json.version}</version>
</dependency>
<dependency>
<groupId>jakarta.persistence</groupId>
<artifactId>jakarta.persistence-api</artifactId>
<version>${jpa.api.version}</version>
</dependency>
<dependency>
<groupId>jakarta.mail</groupId>
<artifactId>jakarta.mail-api</artifactId>
<version>${mail.version}</version>
</dependency>
<dependency>
<groupId>jakarta.resource</groupId>
<artifactId>jakarta.resource-api</artifactId>
<version>${resource.version}</version>
</dependency>
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<version>${servlet.version}</version>
</dependency>
<dependency>
<groupId>jakarta.transaction</groupId>
<artifactId>jakarta.transaction-api</artifactId>
<version>${transaction.version}</version>
</dependency>
<dependency>
<groupId>jakarta.validation</groupId>
<artifactId>jakarta.validation-api</artifactId>
<version>${validation.version}</version>
</dependency>
<dependency>
<groupId>jakarta.xml.bind</groupId>
<artifactId>jakarta.xml.bind-api</artifactId>
<version>${jaxb.api.version}</version>
<exclusions>
<exclusion>
<groupId>*</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>jakarta.xml.bind</groupId>
<artifactId>jakarta.xml.bind-api</artifactId>
<version>${jaxb.api.version}</version>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>jakarta.xml.soap</groupId>
<artifactId>jakarta.xml.soap-api</artifactId>
<version>${soap.api.version}</version>
<exclusions>
<exclusion>
<groupId>*</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>jakarta.xml.ws</groupId>
<artifactId>jakarta.xml.ws-api</artifactId>
<version>${ws-api.version}</version>
<exclusions>
<exclusion>
<groupId>*</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>jakarta.ws.rs</groupId>
<artifactId>jakarta.ws.rs-api</artifactId>
<version>${ws-rs.version}</version>
</dependency>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant</artifactId>
<version>${ant.version}</version>
</dependency>
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.framework</artifactId>
<version>${apache.felix.framework.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>commonj.sdo</artifactId>
<version>${commonj.sdo.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>commonj.sdo</artifactId>
<version>${commonj.sdo.version}</version>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.oracleddlparser</artifactId>
<version>${oracle.ddlparser.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.oracleddlparser</artifactId>
<version>${oracle.ddlparser.version}</version>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>org.eclipse.parsson</groupId>
<artifactId>parsson</artifactId>
<version>${parsson.version}</version>
</dependency>
<dependency>
<groupId>org.glassfish.corba</groupId>
<artifactId>glassfish-corba-omgapi</artifactId>
<version>${org.glassfish.corba.version}</version>
</dependency>
<dependency>
<groupId>org.glassfish.corba</groupId>
<artifactId>glassfish-corba-orb</artifactId>
<version>${org.glassfish.corba.version}</version>
</dependency>
<dependency>
<groupId>org.jgroups</groupId>
<artifactId>jgroups</artifactId>
<version>${jgroups.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>wsdl4j</groupId>
<artifactId>wsdl4j</artifactId>
<version>${wsdl4j.version}</version>
</dependency>
<!--NoSQL DBs-->
<!--Mongo DB-->
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>${mongodb.version}</version>
</dependency>
<!--Oracle proprietary dependencies-->
<!--Oracle NoSQL DB-->
<dependency>
<groupId>com.oracle.kv</groupId>
<artifactId>oracle-nosql-client</artifactId>
<version>${oracle.nosql.version}</version>
</dependency>
<!-- All files as a Oracle JDBC driver CQ #21154 -->
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
<version>${oracle.jdbc.version}</version>
</dependency>
<dependency>
<groupId>com.oracle.database.xml</groupId>
<artifactId>xmlparserv2</artifactId>
<version>${oracle.jdbc.version}</version>
</dependency>
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ucp</artifactId>
<version>${oracle.jdbc.version}</version>
</dependency>
<dependency>
<groupId>com.oracle.database.xml</groupId>
<artifactId>xdb</artifactId>
<version>${oracle.jdbc.version}</version>
</dependency>
<dependency>
<groupId>com.oracle.database.observability</groupId>
<artifactId>dms</artifactId>
<version>${oracle.jdbc.version}</version>
</dependency>
<dependency>
<groupId>com.oracle.database.ha</groupId>
<artifactId>simplefan</artifactId>
<version>${oracle.jdbc.version}</version>
</dependency>
<dependency>
<groupId>com.oracle.database.ha</groupId>
<artifactId>ons</artifactId>
<version>${oracle.jdbc.version}</version>
</dependency>
<!--TODO resolve dependency later
<dependency>
<groupId>com.oracle.spatial</groupId>
<artifactId>sdoapi</artifactId>
<version>${oracle.version}</version>
</dependency>
-->
<dependency>
<groupId>com.oracle.database.nls</groupId>
<artifactId>orai18n</artifactId>
<version>${oracle.jdbc.version}</version>
</dependency>
<dependency>
<groupId>com.oracle.database.messaging</groupId>
<artifactId>aqapi</artifactId>
<version>${oracle.aqapi.version}</version>
</dependency>
<!--Test dependencies-->
<!--Test framework-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
</dependency>
<!--Required for JPA server test server-test-jpa21-sessionbean.-->
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-core</artifactId>
<version>${hamcrest.version}</version>
</dependency>
<!--APIs and other libs used in test classes-->
<dependency>
<groupId>org.jboss.weld.se</groupId>
<artifactId>weld-se-core</artifactId>
<version>${weld-se.version}</version>
</dependency>
<dependency>
<groupId>org.glassfish</groupId>
<artifactId>jakarta.el</artifactId>
<version>${el.version}</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>${jersey.version}</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-common</artifactId>
<version>${jersey.version}</version>
</dependency>
<dependency>
<groupId>org.glassfish.main.appclient</groupId>
<artifactId>gf-client</artifactId>
<version>${glassfish.version}</version>
</dependency>
<dependency>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-core</artifactId>
<version>${jmh.version}</version>
</dependency>
<dependency>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-generator-annprocess</artifactId>
<version>${jmh.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-instrument</artifactId>
<version>${springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>${springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${springframework.version}</version>
</dependency>
<!--JDBC drivers-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
</dependency>
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derbyclient</artifactId>
<version>${derby.version}</version>
</dependency>
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>${mssql.version}</version>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>${pgsql.version}</version>
</dependency>
<!--For Oracle DB driver see Oracle proprietary dependencies part. It's not limited to tests only-->
<!-- Hibernate validator and it's dependencies -->
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<version>${hibernate.version}</version>
</dependency>
<!--PaxExam -->
<dependency>
<groupId>org.ops4j.pax.exam</groupId>
<artifactId>pax-exam</artifactId>
<version>${exam.version}</version>
</dependency>
<dependency>
<groupId>org.ops4j.pax.exam</groupId>
<artifactId>pax-exam-container-forked</artifactId>
<version>${exam.version}</version>
</dependency>
<dependency>
<groupId>org.ops4j.pax.exam</groupId>
<artifactId>pax-exam-junit4</artifactId>
<version>${exam.version}</version>
</dependency>
<dependency>
<groupId>org.ops4j.pax.exam</groupId>
<artifactId>pax-exam-link-mvn</artifactId>
<version>${exam.version}</version>
</dependency>
<!--Test Logging, required by Pax and extension module-->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>${logback.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>${logback.version}</version>
</dependency>
<!--Test OSGi core-->
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.core</artifactId>
<version>${osgi.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>com.coderplus.maven.plugins</groupId>
<artifactId>copy-rename-maven-plugin</artifactId>
<version>1.0.1</version>
</plugin>
<plugin>
<groupId>com.googlecode.maven-download-plugin</groupId>
<artifactId>download-maven-plugin</artifactId>
<version>1.6.1</version>
</plugin>
<plugin>
<groupId>com.google.code.maven-replacer-plugin</groupId>
<artifactId>replacer</artifactId>
<version>1.5.3</version>
</plugin>
<plugin>
<groupId>com.soebes.maven.plugins</groupId>
<artifactId>iterator-maven-plugin</artifactId>
<version>0.5.1</version>
</plugin>
<plugin>
<groupId>com.sun.wts.tools.ant</groupId>
<artifactId>package-rename-task</artifactId>
<version>1.5.2</version>
</plugin>
<plugin>
<groupId>de.empulse.eclipselink</groupId>
<artifactId>staticweave-maven-plugin</artifactId>
<version>1.0.0</version>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>5.1.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>3.0.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.3.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.1.2</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>3.0.0-M3</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>3.0.0-M4</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>3.0.0-M1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.2.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.9.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.2.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M5</version>
<configuration>
<useModulePath>false</useModulePath>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
<version>3.0.0-M5</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.3.1</version>
</plugin>
<plugin>
<groupId>org.bsc.maven</groupId>
<artifactId>maven-processor-plugin</artifactId>
<version>4.5-jdk8</version>
</plugin>
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<version>1.7.7</version>
</plugin>
<plugin>
<groupId>org.codehaus.gmaven</groupId>
<artifactId>groovy-maven-plugin</artifactId>
<version>2.1.1</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.2.0</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>1.4</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>3.0.0</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>sql-maven-plugin</artifactId>
<version>1.5</version>
<dependencies>
<dependency>
<groupId>${db.driver.groupId}</groupId>
<artifactId>${db.driver.artifactId}</artifactId>
<version>${db.driver.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>xml-maven-plugin</artifactId>
<version>1.0.2</version>
</plugin>
<!--This plugin (g:org.kuali.maven.plugins) is used instead typical org.codehaus.mojo:properties-maven-plugin:1.0.0
due bug: "Circular property definition" if expression like this is used in the Maven pom
"<server.testrunner.prefix>${modelname}/${modelname}_ejb/</server.testrunner.prefix>"
-->
<plugin>
<groupId>org.kuali.maven.plugins</groupId>
<artifactId>properties-maven-plugin</artifactId>
<version>2.0.1</version>
</plugin>
<plugin>
<groupId>org.reficio</groupId>
<artifactId>p2-maven-plugin</artifactId>
<version>1.5.0</version>
</plugin>
<plugin>
<groupId>org.carlspring.maven</groupId>
<artifactId>derby-maven-plugin</artifactId>
<version>1.10</version>
<dependencies>
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derby</artifactId>
<version>${derby.version}</version>
</dependency>
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derbyclient</artifactId>
<version>${derby.version}</version>
</dependency>
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derbynet</artifactId>
<version>${derby.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>3.1.2</version>
<dependencies>
<dependency>
<groupId>com.puppycrawl.tools</groupId>
<artifactId>checkstyle</artifactId>
<version>${checkstyle.version}</version>
</dependency>
</dependencies>
<configuration>
<checkstyleRules>
<module name="Checker">
<module name="FileTabCharacter">
<property name="eachLine" value="true" />
</module>
</module>
</checkstyleRules>
</configuration>
</plugin>
<plugin>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs-maven-plugin</artifactId>
<version>4.3.0</version>
<dependencies>
<dependency>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs</artifactId>
<version>${spotbugs.version}</version>
</dependency>
</dependencies>
<configuration>
<skip>${spotbugs.skip}</skip>
<threshold>${spotbugs.threshold}</threshold>
<excludeFilterFile>${spotbugs.common},${spotbugs.exclude}</excludeFilterFile>
<fork>true</fork>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<!--Minimal JDK version-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<release>${maven.compiler.release}</release>
<testRelease>${maven.compiler.testRelease}</testRelease>
<showWarnings>true</showWarnings>
<showDeprecation>true</showDeprecation>
</configuration>
<executions>
<execution>
<id>default-compile</id>
<configuration>
<compilerArgs combine.children="append">
<arg>${comp.xlint}</arg>
<arg>${comp.xdoclint}</arg>
<arg>-Xmaxwarns</arg>
<arg>${warn.limit}</arg>
<arg>-Xmaxerrs</arg>
<arg>${warn.limit}</arg>
</compilerArgs>
</configuration>
</execution>
<execution>
<id>default-testCompile</id>
<configuration>
<compilerArgs combine.children="append">
<arg>${comp.test.xlint}</arg>
<arg>${comp.xdoclint}</arg>
<arg>-Xmaxwarns</arg>
<arg>${warn.limit}</arg>
<arg>-Xmaxerrs</arg>
<arg>${warn.limit}</arg>
</compilerArgs>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>build-resources</id>
<phase>initialize</phase>
<goals>
<goal>single</goal>
</goals>
<inherited>false</inherited>
<configuration>
<descriptors>
<descriptor>src/main/assembly/common-license.xml</descriptor>
<descriptor>src/main/assembly/test-defaults.xml</descriptor>
<descriptor>src/main/assembly/spotbugs-filter.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>unpack-legal-resource</id>
<phase>generate-resources</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>${project.groupId}</groupId>
<artifactId>org.eclipse.persistence.parent</artifactId>
<version>${project.version}</version>
<classifier>common-license</classifier>
<type>zip</type>
<outputDirectory>${project.build.licenceResourceDirectory}</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
<execution>
<id>unpack-test-properties</id>
<phase>initialize</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>${project.groupId}</groupId>
<artifactId>org.eclipse.persistence.parent</artifactId>
<version>${project.version}</version>
<classifier>test-defaults</classifier>
<type>zip</type>
<outputDirectory>${test.properties.default.directory}</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
<execution>
<id>unpack-spotbugs-filter</id>
<phase>initialize</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>${project.groupId}</groupId>
<artifactId>org.eclipse.persistence.parent</artifactId>
<version>${project.version}</version>
<classifier>spotbugs-filter</classifier>
<type>zip</type>
<outputDirectory>${project.build.directory}</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>release.version-property</id>
<goals>
<goal>regex-property</goal>
</goals>
<configuration>
<name>release.version</name>
<value>${project.version}</value>
<regex>-SNAPSHOT</regex>
<replacement></replacement>
<failIfNoMatch>false</failIfNoMatch>
</configuration>
</execution>
<execution>
<id>add-integration-test-sources</id>
<!--<phase>generate-resources</phase>-->
<goals>
<goal>add-test-source</goal>
</goals>
<configuration>
<sources>
<source>${integration.test.sources.directory}</source>
</sources>
</configuration>
</execution>
<execution>
<id>add-integration-test-resources</id>
<!--<phase>generate-resources</phase>-->
<goals>
<goal>add-test-resource</goal>
</goals>
<configuration>
<resources>
<resource>
<directory>${integration.test.resources.directory}</directory>
</resource>
</resources>
</configuration>
</execution>
<execution>
<id>add-legal-resource</id>
<!--<phase>generate-resources</phase>-->
<goals>
<goal>add-resource</goal>
</goals>
<configuration>
<resources>
<resource>
<directory>${project.build.licenceResourceDirectory}/md</directory>
<includes>*</includes>
<targetPath>META-INF</targetPath>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<!--Load maven test properties from file-->
<plugin>
<!--This plugin (g:org.kuali.maven.plugins) is used instead typical org.codehaus.mojo:properties-maven-plugin:1.0.0
due bug: "Circular property definition" if expression like this is used in the Maven pom
"<server.testrunner.prefix>${modelname}/${modelname}_ejb/</server.testrunner.prefix>"
-->
<groupId>org.kuali.maven.plugins</groupId>
<artifactId>properties-maven-plugin</artifactId>
<executions>
<execution>
<id>read-db-jee-properties</id>
<phase>initialize</phase>
<goals>
<goal>read-project-properties</goal>
</goals>
<configuration>
<locations>
<location>${test.properties.file}</location>
<location>${testjee.properties.file}</location>
</locations>
</configuration>
</execution>
</executions>
</plugin>
<!--Generate OSGi bundle/manifest-->
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<configuration>
<niceManifest>true</niceManifest>
<instructions>
<_noextraheaders>true</_noextraheaders>
<HK2-Bundle-Name>${project.groupId}:${project.artifactId}</HK2-Bundle-Name>
</instructions>
</configuration>
<executions>
<execution>
<id>bundle-manifest</id>
<goals>
<goal>manifest</goal>
</goals>
</execution>
</executions>
</plugin>
<!--Enforce certain Maven version-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>3.0.0-M3</version>
<executions>
<execution>
<id>enforce-maven</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireJavaVersion>
<version>[11,)</version>
</requireJavaVersion>
<requireMavenVersion>
<version>[3.6.3,)</version>
</requireMavenVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>
<!--Create jar file with classes and manifest with OSGi entries-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
</archive>
</configuration>
</plugin>
<!--Create jar file with source files and manifest with OSGi entries-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<phase>prepare-package</phase>
<goals>
<goal>jar-no-fork</goal>
</goals>
<configuration>
<archive>
<manifestEntries>
<Bundle-ManifestVersion>2</Bundle-ManifestVersion>
<Bundle-Name>${project.name} Source</Bundle-Name>
<Bundle-SymbolicName>${project.artifactId}.source</Bundle-SymbolicName>
<Bundle-Vendor>${project.organization.name}</Bundle-Vendor>
<Bundle-Version>${bundle.version}</Bundle-Version>
<Eclipse-SourceBundle>${project.artifactId};version="${bundle.version}"</Eclipse-SourceBundle>
</manifestEntries>
</archive>
</configuration>
</execution>
<execution>
<id>attach-test-sources</id>
<phase>prepare-package</phase>
<goals>
<goal>test-jar-no-fork</goal>
</goals>
<configuration>
<archive>
<manifestEntries>
<Bundle-ManifestVersion>2</Bundle-ManifestVersion>
<Bundle-Name>${project.name} Test Source</Bundle-Name>
<Bundle-SymbolicName>${project.artifactId}.test.source</Bundle-SymbolicName>
<Bundle-Vendor>${project.organization.name}</Bundle-Vendor>
<Bundle-Version>${bundle.version}</Bundle-Version>
<Eclipse-SourceBundle>${project.artifactId};version="${bundle.version}"</Eclipse-SourceBundle>
</manifestEntries>
</archive>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>sql-maven-plugin</artifactId>
<!-- common configuration shared by all executions -->
<configuration>
<driver>${db.driver}</driver>
<url>${db.url}</url>
<username>${db.user}</username>
<password>${db.pwd}</password>
</configuration>
</plugin>
<plugin>
<groupId>org.carlspring.maven</groupId>
<artifactId>derby-maven-plugin</artifactId>
<configuration>
<derbyHome>${project.build.directory}/derby</derbyHome>
<username>${db.user}</username>
<password>${db.pwd}</password>
<driver>${db.driver}</driver>
<connectionURL>${db.url}</connectionURL>
<!--Log SQL statements.-->
<!--<debugStatements>true</debugStatements>-->
<skip>${test.skip.in-memory.db}</skip>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
<configuration>
<linkXRef>false</linkXRef>
</configuration>
<executions>
<execution>
<id>generate-surefire-html-report</id>
<phase>test</phase>
<goals>
<goal>report-only</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/surefire-reports</outputDirectory>
</configuration>
</execution>
<execution>
<id>generate-failsafe-html-report</id>
<phase>post-integration-test</phase>
<goals>
<goal>failsafe-report-only</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/failsafe-reports</outputDirectory>
</configuration>
</execution>
<execution>
<id>generate-test-summary-html-report</id>
<phase>post-integration-test</phase>
<goals>
<goal>failsafe-report-only</goal>
</goals>
<configuration>
<reportsDirectories>
<reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory>
<reportsDirectory>${project.build.directory}/failsafe-reports</reportsDirectory>
</reportsDirectories>
<outputDirectory>${project.build.directory}/${project.build.testReports.subdirectory}</outputDirectory>
<outputName>${project.build.testReports.summaryFile}</outputName>
<title>${project.name} - Test Summary (more details on ${env.BUILD_URL} )</title>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<additionalOptions combine.children="append">
<additionalOption>-Xmaxwarns</additionalOption>
<additionalOption>${warn.limit}</additionalOption>
<additionalOption>-Xmaxerrs</additionalOption>
<additionalOption>${warn.limit}</additionalOption>
</additionalOptions>
<minmemory>2G</minmemory>
<release>${maven.compiler.release}</release>
<doclint>${jdoc.doclint}</doclint>
<quiet>true</quiet>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<executions>
<execution>
<id>checkstyle</id>
<phase>validate</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<!--Testing database profiles-->
<!--TODO simplify properties part db.driver.XXXX to load it from file-->
<profile>
<id>derby</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<test.properties.file>${user.home}/${test.derby.properties.file}</test.properties.file>
<test.properties.fileName>${test.derby.properties.file}</test.properties.fileName>
<test.database>derby</test.database>
<!--Used by sql-maven-plugin-->
<db.driver.groupId>org.apache.derby</db.driver.groupId>
<db.driver.artifactId>derbyclient</db.driver.artifactId>
<db.driver.version>${derby.version}</db.driver.version>
</properties>
</profile>
<profile>
<id>mysql</id>
<properties>
<test.properties.file>${user.home}/${test.mysql.properties.file}</test.properties.file>
<test.properties.fileName>${test.mysql.properties.file}</test.properties.fileName>
<!--Used by sql-maven-plugin-->
<db.driver.groupId>mysql</db.driver.groupId>
<db.driver.artifactId>mysql-connector-java</db.driver.artifactId>
<db.driver.version>${mysql.version}</db.driver.version>
<test.skip.in-memory.db>true</test.skip.in-memory.db>
</properties>
</profile>
<profile>
<id>mssql</id>
<properties>
<test.properties.file>${user.home}/${test.mssql.properties.file}</test.properties.file>
<test.properties.fileName>${test.mssql.properties.file}</test.properties.fileName>
<!--Used by sql-maven-plugin-->
<db.driver.groupId>com.microsoft.sqlserver</db.driver.groupId>
<db.driver.artifactId>mssql-jdbc</db.driver.artifactId>
<db.driver.version>${mssql.version}</db.driver.version>
<test.skip.in-memory.db>true</test.skip.in-memory.db>
</properties>
</profile>
<profile>
<id>pgsql</id>
<properties>
<test.properties.file>${user.home}/${test.pgsql.properties.file}</test.properties.file>
<test.properties.fileName>${test.pgsql.properties.file}</test.properties.fileName>
<!--Used by sql-maven-plugin-->
<db.driver.groupId>org.postgresql</db.driver.groupId>
<db.driver.artifactId>postgresql</db.driver.artifactId>
<db.driver.version>${pgsql.version}</db.driver.version>
<test.skip.in-memory.db>true</test.skip.in-memory.db>
</properties>
</profile>
<profile>
<id>oracle</id>
<properties>
<test.properties.file>${user.home}/${test.oracle.properties.file}</test.properties.file>
<test.properties.fileName>${test.oracle.properties.file}</test.properties.fileName>
<!--Used by sql-maven-plugin-->
<db.driver.groupId>com.oracle.database.jdbc</db.driver.groupId>
<db.driver.artifactId>ojdbc8</db.driver.artifactId>
<db.driver.version>${oracle.jdbc.version}</db.driver.version>
<test.skip.in-memory.db>true</test.skip.in-memory.db>
</properties>
</profile>
<!--TODO simplify properties part jee.client.XXXX to load it from file-->
<!--Testing JEE server profiles WildFly, GlassFish, Weblogic-->
<profile>
<id>wildfly</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<testjee.properties.file>${user.home}/${testjee.wildfly.properties.file}</testjee.properties.file>
<testjee.properties.fileName>${testjee.wildfly.properties.file}</testjee.properties.fileName>
<jee.client.groupId>org.wildfly</jee.client.groupId>
<jee.client.artifactId>wildfly-ejb-client-bom</jee.client.artifactId>
<jee.client.version>${wildfly.version}</jee.client.version>
<jee.client.type>pom</jee.client.type>
<!--Download properties-->
<installation.url>https://download.jboss.org/wildfly/18.0.0.Final/wildfly-18.0.0.Final.zip</installation.url>
<installation.checksum.md5>8e4d435bb5d6fe466b478dc49d34bf27</installation.checksum.md5>
</properties>
</profile>
<profile>
<id>glassfish</id>
<properties>
<testjee.properties.file>${user.home}/${testjee.glassfish.properties.file}</testjee.properties.file>
<testjee.properties.fileName>${testjee.glassfish.properties.file}</testjee.properties.fileName>
<jee.client.groupId>org.glassfish.main.appclient</jee.client.groupId>
<jee.client.artifactId>gf-client</jee.client.artifactId>
<jee.client.version>${glassfish.version}</jee.client.version>
<jee.client.type>jar</jee.client.type>
<skip.glassfish.configuration>false</skip.glassfish.configuration>
<!--Download properties-->
<installation.url>https://repo1.maven.org/maven2/org/glassfish/main/distributions/glassfish/5.1.0/glassfish-5.1.0.zip</installation.url>
<installation.checksum.md5>2ed2d211fd56e270f3daf8e2b5e01e30</installation.checksum.md5>
</properties>
</profile>
<profile>
<id>weblogic</id>
<properties>
<testjee.properties.file>${user.home}/${testjee.weblogic.properties.file}</testjee.properties.file>
<testjee.properties.fileName>${testjee.weblogic.properties.file}</testjee.properties.fileName>
<jee.client.groupId>com.oracle.weblogic</jee.client.groupId>
<jee.client.artifactId>wlthint3client</jee.client.artifactId>
<jee.client.version>${weblogic.version}</jee.client.version>
<jee.client.type>jar</jee.client.type>
</properties>
</profile>
<!--Activate perfomance tests module-->
<profile>
<id>test-performance</id>
<modules>
<!--Performance Tests module module-->
<module>performance/eclipselink.perf.test</module>
</modules>
</profile>
<!--INTERNAL - Test properties fallback. Expects, that mvn command is executed from project root directory.-->
<profile>
<id>test-properties-fallback</id>
<activation>
<file>
<missing>${test.properties.file}</missing>
</file>
</activation>
<properties>
<test.properties.file>${test.properties.default.directory}/${test.properties.fileName}</test.properties.file>
</properties>
</profile>
<profile>
<id>test-jee-properties-fallback</id>
<activation>
<file>
<missing>${testjee.properties.file}</missing>
</file>
</activation>
<properties>
<testjee.properties.file>${test.properties.default.directory}/${testjee.properties.fileName}</testjee.properties.file>
</properties>
</profile>
<!--INTERNAL - Don't start In-Memory DB in case of -DskipTests switch-->
<profile>
<id>test-skip-check</id>
<activation>
<property>
<name>skipTests</name>
<value>true</value>
</property>
</activation>
<properties>
<test.skip.in-memory.db>true</test.skip.in-memory.db>
</properties>
</profile>
<profile>
<id>coding-standards</id>
<properties>
<copyright.exclude>etc/copyright-exclude</copyright.exclude>
<copyright.ignoreyear>false</copyright.ignoreyear>
<copyright.scmonly>true</copyright.scmonly>
<copyright.template>etc/copyright.txt</copyright.template>
<copyright.update>false</copyright.update>
</properties>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.glassfish.copyright</groupId>
<artifactId>glassfish-copyright-maven-plugin</artifactId>
<version>2.3</version>
<configuration>
<templateFile>${copyright.template}</templateFile>
<excludeFile>${copyright.exclude}</excludeFile>
<!-- skip files not under SCM-->
<scmOnly>${copyright.scmonly}</scmOnly>
<!-- for use with repair -->
<update>${copyright.update}</update>
<!-- check that year is correct -->
<ignoreYear>${copyright.ignoreyear}</ignoreYear>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.glassfish.copyright</groupId>
<artifactId>glassfish-copyright-maven-plugin</artifactId>
<executions>
<execution>
<id>cp-check</id>
<goals>
<!-- Note: this takes ~2 hours -->
<goal>copyright</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>coverage</id>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.6</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<executions>
<execution>
<id>jacoco-prepare-agent</id>
<phase>process-test-resources</phase>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>jacoco-default-report</id>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>no-deploy</id>
<activation>
<property>
<name>!deploy</name>
</property>
</activation>
<modules>
<!--Helper parent pom for server side test modules-->
<module>testing/server</module>
<module>testing/server-oracle</module>
<module>foundation/org.eclipse.persistence.core.test.framework</module>
<module>foundation/eclipselink.core.test</module>
<module>jpa/org.eclipse.persistence.jpa.test.framework</module>
<module>sdo/eclipselink.sdo.test.server</module>
<!--JPA test modules-->
<!--JPA test module (JSE, JEE tests)-->
<module>jpa/eclipselink.jpa.test</module>
<!--JPA NoSQL test module-->
<module>jpa/eclipselink.jpa.nosql.test</module>
<!--JPA JSE test module-->
<module>jpa/eclipselink.jpa.test.jse</module>
<!--JPA Spring test module-->
<module>jpa/eclipselink.jpa.spring.test</module>
<!--JPA WDF test module-->
<module>jpa/eclipselink.jpa.wdf.test</module>
<!-- Oracle DB specific tests -->
<module>foundation/org.eclipse.persistence.oracle.test</module>
<!--DBWS Oracle Test module module-->
<module>dbws/eclipselink.dbws.test.oracle</module>
<!--DBWS Builder Oracle Test modules-->
<module>utils/eclipselink.dbws.builder.test.oracle</module>
<module>utils/eclipselink.dbws.builder.test.oracle.server</module>
<module>utils/eclipselink.utils.sigcompare</module>
</modules>
</profile>
<profile>
<id>extra-tests</id>
<modules>
<!--JPA JAXRS test module-->
<!--TODO FIXIT Doesn't work well. -->
<module>jpa/eclipselink.jaxrs.test</module>
<!--JPA JPA-RS test module-->
<!--TODO FIXIT Doesn't work well. -->
<module>jpa/eclipselink.jpars.test</module>
<!-- Oracle DB specific tests -->
<!--TODO sdoapi dependency resolution is not solved-->
<module>foundation/eclipselink.extension.oracle.spatial.test</module>
<!--JPA test module-->
<!--TODO sdoapi dependency resolution is not solved-->
<module>jpa/eclipselink.jpa.oracle.test</module>
</modules>
</profile>
</profiles>
</project>