blob: 66fd189384dd2ec065898bd0d3916952ef6d0f75 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2021, 2022 Contributors to the Eclipse Foundation
Copyright (c) 2017, 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.
This Source Code may also be made available under the following Secondary
Licenses when the conditions for such availability set forth in the
Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
version 2 with the GNU Classpath Exception, which is available at
https://www.gnu.org/software/classpath/license.html.
SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.eclipse.ee4j</groupId>
<artifactId>project</artifactId>
<version>1.0.6</version>
<relativePath />
</parent>
<groupId>org.glassfish.main</groupId>
<artifactId>nucleus-parent</artifactId>
<version>7.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>GlassFish Nucleus Parent Project</name>
<description>Glassfish Nucleus Parent Project</description>
<url>https://projects.eclipse.org/projects/ee4j.glassfish</url>
<licenses>
<license>
<name>EPL 2.0</name>
<url>http://www.eclipse.org/legal/epl-2.0</url>
<distribution>repo</distribution>
</license>
<license>
<name>GPL2 w/ CPE</name>
<url>https://www.gnu.org/software/classpath/license.html</url>
<distribution>repo</distribution>
</license>
</licenses>
<mailingLists>
<mailingList>
<name>Glassfish dev mailing list</name>
<post>glassfish-dev@eclipse.org</post>
<subscribe>https://dev.eclipse.org/mailman/listinfo/glassfish-dev</subscribe>
<unsubscribe>https://dev.eclipse.org/mailman/listinfo/glassfish-dev</unsubscribe>
<archive>https://dev.eclipse.org/mhonarc/lists/glassfish-dev</archive>
</mailingList>
</mailingLists>
<scm>
<connection>scm:git:git://github.com/eclipse-ee4j/glassfish.git</connection>
<developerConnection>scm:git:git://github.com/eclipse-ee4j/glassfish.git</developerConnection>
<url>https://github.com/eclipse-ee4j/glassfish</url>
</scm>
<issueManagement>
<system>IssueTracker</system>
<url>https://github.com/eclipse-ee4j/glassfish/issues</url>
</issueManagement>
<properties>
<!-- Jakarta API Versions -->
<!-- Jakarta Expression Language -->
<jakarta.el-api.version>5.0.0</jakarta.el-api.version>
<expressly.version>5.0.0-M1</expressly.version>
<!-- Jakarta Servlet -->
<jakarta.servlet-api.version>6.0.0</jakarta.servlet-api.version>
<!-- Jakarta Validation -->
<jakarta.validation-api.version>3.0.1</jakarta.validation-api.version>
<hibernate-validator.version>7.0.3-SNAPSHOT</hibernate-validator.version>
<!-- Jakarta Web Services -->
<!--
Jakarta XML Web Services
<jakarta.xml.ws-api.version>4.0.0-RC2</jakarta.xml.ws-api.version>
Jakarta SOAP (with Attachments)
<jakarta.xml.soap-api.version>3.0.0-RC2</jakarta.xml.soap-api.version>
-->
<webservices.version>4.0.0-SNAPSHOT</webservices.version>
<!-- Jakarta Inject -->
<jakarta.inject-api.version>2.0.1.MR</jakarta.inject-api.version>
<hk2.version>3.0.3</hk2.version>
<hk2.plugin.version>3.0.3</hk2.plugin.version>
<hk2.config-generator.version>2.5.0-b53</hk2.config-generator.version>
<!-- Jakarta XML Binding -->
<jakarta.xml.bind-api.version>4.0.0</jakarta.xml.bind-api.version>
<jakarta.jaxb-impl.version>4.0.0-M4</jakarta.jaxb-impl.version>
<!-- Jakarta REST -->
<jakarta.rest-api.version>3.1.0</jakarta.rest-api.version>
<jersey.version>3.1.0-SNAPSHOT</jersey.version>
<!-- Jakarta Mail -->
<jakarta.mail-api.version>2.1.0</jakarta.mail-api.version>
<angus.mail.version>1.0.0</angus.mail.version>
<!-- Jakarta Activation -->
<activation.version>2.1.0</activation.version>
<angus.activation.version>1.0.0</angus.activation.version>
<!-- Jakarta Annotations -->
<jakarta.annotation-api.version>2.1.0</jakarta.annotation-api.version>
<!-- GlassFish Components -->
<glassfish-corba.version>4.2.4</glassfish-corba.version>
<grizzly.version>4.0.0-M1</grizzly.version>
<grizzly.npn.version>2.0.0</grizzly.npn.version>
<glassfish-management-api.version>3.2.3</glassfish-management-api.version>
<pfl.version>4.1.2</pfl.version>
<gmbal.version>4.0.3</gmbal.version>
<shoal.version>3.0.0-M1</shoal.version>
<ha-api.version>3.1.13</ha-api.version>
<logging-annotation-processor.version>1.9</logging-annotation-processor.version>
<command-security-plugin.version>1.0.14</command-security-plugin.version>
<command.security.maven.plugin.isFailureFatal>false</command.security.maven.plugin.isFailureFatal>
<!-- 3rd party dependencies -->
<jboss.logging.annotation.version>2.2.1.Final</jboss.logging.annotation.version>
<jboss.logging.version>3.4.3.Final</jboss.logging.version>
<javassist.version>3.28.0-GA</javassist.version>
<asm.version>9.2</asm.version>
<jsch.version>0.1.56</jsch.version>
<antlr.version>2.7.8</antlr.version>
<ant.version>1.10.2</ant.version>
<jackson.version>2.13.2</jackson.version>
<jackson-databind.version>2.13.2.1</jackson-databind.version>
<fasterxml.classmate.version>1.5.1</fasterxml.classmate.version>
<stax-api.version>1.0-2</stax-api.version>
<jettison.version>1.4.1</jettison.version>
<mimepull.version>1.9.15</mimepull.version>
<commons-io.version>2.11.0</commons-io.version>
<replacer.plugin.version>1.5.3</replacer.plugin.version>
<easymock.version>4.3</easymock.version>
<jmockit.version>1.49</jmockit.version>
<junit.version>5.8.2</junit.version>
<jmh.version>1.34</jmh.version>
<osgi-resource-locator.version>1.0.3</osgi-resource-locator.version>
<javaee.version.old>8</javaee.version.old>
<javaee.version.new>9</javaee.version.new>
<!-- Settings -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.build.commonResourcesDirectory>${project.build.directory}/common-resources</project.build.commonResourcesDirectory>
<legal.doc.source>${project.build.commonResourcesDirectory}/legal</legal.doc.source>
<findbugs.skip>false</findbugs.skip>
<findbugs.threshold>High</findbugs.threshold>
<findbugs.common>exclude-common.xml</findbugs.common>
<findbugs.exclude />
<findbugs.version>3.0.5</findbugs.version>
<findbugs.glassfish.logging.validLoggerPrefixes>jakarta.enterprise</findbugs.glassfish.logging.validLoggerPrefixes>
<nucleus.install.dir.name>nucleus</nucleus.install.dir.name>
<javadoc.skip>false</javadoc.skip>
<deploy.skip>false</deploy.skip>
<maven.test.jvmoptions.add-opens>--add-opens java.base/java.lang=ALL-UNNAMED --add-opens=java.naming/javax.naming.spi=ALL-UNNAMED</maven.test.jvmoptions.add-opens>
<maven.test.jvmoptions.memory.sizes>-Xss512k -Xms256m -Xmx1g -XX:MaxDirectMemorySize=512m</maven.test.jvmoptions.memory.sizes>
<maven.test.jvmoptions.memory.gc>-verbose:gc -XX:+UseG1GC -XX:+UseStringDeduplication</maven.test.jvmoptions.memory.gc>
<maven.test.jvmoptions.display>-Djava.awt.headless=true</maven.test.jvmoptions.display>
<maven.test.jvmoptions.locale>-Duser.language=en -Duser.region=US</maven.test.jvmoptions.locale>
<maven.test.jvmoptions.custom></maven.test.jvmoptions.custom>
<maven.test.jvmoptions>
${maven.test.jvmoptions.memory.sizes}
${maven.test.jvmoptions.memory.gc}
${maven.test.jvmoptions.display}
${maven.test.jvmoptions.locale}
${maven.test.jvmoptions.add-opens}
${maven.test.jvmoptions.custom}
</maven.test.jvmoptions>
<surefire.argLine>${maven.test.jvmoptions}</surefire.argLine>
<failsafe.argLine>${maven.test.jvmoptions}</failsafe.argLine>
</properties>
<dependencyManagement>
<dependencies>
<!-- Jakarta API dependencies -->
<!-- Jakarta Expression Language -->
<dependency>
<groupId>jakarta.el</groupId>
<artifactId>jakarta.el-api</artifactId>
<version>${jakarta.el-api.version}</version>
</dependency>
<dependency>
<groupId>org.glassfish.expressly</groupId>
<artifactId>expressly</artifactId>
<version>${expressly.version}</version>
</dependency>
<!-- Jakarta Servlet -->
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<version>${jakarta.servlet-api.version}</version>
</dependency>
<!-- Jakarta Validation -->
<dependency>
<groupId>jakarta.validation</groupId>
<artifactId>jakarta.validation-api</artifactId>
<version>${jakarta.validation-api.version}</version>
</dependency>
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<version>${hibernate-validator.version}</version>
</dependency>
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator-cdi</artifactId>
<version>${hibernate-validator.version}</version>
</dependency>
<!-- Jakarta Web Services -->
<dependency>
<groupId>org.glassfish.metro</groupId>
<artifactId>webservices-extra-jdk-packages</artifactId>
<version>${webservices.version}</version>
</dependency>
<!-- Jakarta Inject -->
<dependency>
<groupId>jakarta.inject</groupId>
<artifactId>jakarta.inject-api</artifactId>
<version>${jakarta.inject-api.version}</version>
</dependency>
<dependency>
<groupId>org.glassfish.hk2</groupId>
<artifactId>hk2-bom</artifactId>
<version>${hk2.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.glassfish.hk2</groupId>
<artifactId>osgi-resource-locator</artifactId>
<version>${osgi-resource-locator.version}</version>
</dependency>
<!-- Jakarta XML Binding -->
<dependency>
<groupId>jakarta.xml.bind</groupId>
<artifactId>jakarta.xml.bind-api</artifactId>
<version>${jakarta.xml.bind-api.version}</version>
<exclusions>
<exclusion>
<groupId>*</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-osgi</artifactId>
<version>${jakarta.jaxb-impl.version}</version>
</dependency>
<!-- Jakarta REST -->
<dependency>
<groupId>jakarta.ws.rs</groupId>
<artifactId>jakarta.ws.rs-api</artifactId>
<version>${jakarta.rest-api.version}</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey</groupId>
<artifactId>jersey-bom</artifactId>
<version>${jersey.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- Jakarta Mail -->
<dependency>
<groupId>jakarta.mail</groupId>
<artifactId>jakarta.mail-api</artifactId>
<version>${jakarta.mail-api.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.angus</groupId>
<artifactId>angus-mail</artifactId>
<version>${angus.mail.version}</version>
</dependency>
<!-- Jakarta Activation -->
<dependency>
<groupId>jakarta.activation</groupId>
<artifactId>jakarta.activation-api</artifactId>
<version>${activation.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.angus</groupId>
<artifactId>angus-activation</artifactId>
<version>${angus.activation.version}</version>
</dependency>
<!-- Jakarta Annotation -->
<dependency>
<groupId>jakarta.annotation</groupId>
<artifactId>jakarta.annotation-api</artifactId>
<version>${jakarta.annotation-api.version}</version>
</dependency>
<!-- GlassFish Components -->
<!-- GlassFish Corba -->
<dependency>
<groupId>org.glassfish.corba</groupId>
<artifactId>glassfish-corba-orb</artifactId>
<version>${glassfish-corba.version}</version>
</dependency>
<dependency>
<groupId>org.glassfish.corba</groupId>
<artifactId>glassfish-corba-omgapi</artifactId>
<version>${glassfish-corba.version}</version>
</dependency>
<dependency>
<groupId>org.glassfish.corba</groupId>
<artifactId>glassfish-corba-csiv2-idl</artifactId>
<version>${glassfish-corba.version}</version>
</dependency>
<dependency>
<groupId>org.glassfish.corba</groupId>
<artifactId>glassfish-corba-internal-api</artifactId>
<version>${glassfish-corba.version}</version>
</dependency>
<dependency>
<groupId>org.glassfish.corba</groupId>
<artifactId>rmic</artifactId>
<version>${glassfish-corba.version}</version>
</dependency>
<!-- GlassFish Grizzly -->
<dependency>
<groupId>org.glassfish.grizzly</groupId>
<artifactId>grizzly-bom</artifactId>
<version>${grizzly.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- GlassFish Management API -->
<dependency>
<groupId>org.glassfish.external</groupId>
<artifactId>management-api</artifactId>
<version>${glassfish-management-api.version}</version>
</dependency>
<!-- GlassFish Primitive Function Library -->
<dependency>
<groupId>org.glassfish.pfl</groupId>
<artifactId>pfl-basic</artifactId>
<version>${pfl.version}</version>
</dependency>
<dependency>
<groupId>org.glassfish.pfl</groupId>
<artifactId>pfl-dynamic</artifactId>
<version>${pfl.version}</version>
</dependency>
<dependency>
<groupId>org.glassfish.pfl</groupId>
<artifactId>pfl-basic-tools</artifactId>
<version>${pfl.version}</version>
</dependency>
<dependency>
<groupId>org.glassfish.pfl</groupId>
<artifactId>pfl-tf</artifactId>
<version>${pfl.version}</version>
</dependency>
<dependency>
<groupId>org.glassfish.pfl</groupId>
<artifactId>pfl-tf-tools</artifactId>
<version>${pfl.version}</version>
</dependency>
<!-- Glassfish MBean Annotation Library -->
<dependency>
<groupId>org.glassfish.gmbal</groupId>
<artifactId>gmbal</artifactId>
<version>${gmbal.version}</version>
</dependency>
<!-- GlassFish Shoal -->
<dependency>
<groupId>org.glassfish.shoal</groupId>
<artifactId>shoal-gms-api</artifactId>
<version>${shoal.version}</version>
</dependency>
<dependency>
<groupId>org.glassfish.shoal</groupId>
<artifactId>shoal-gms-impl</artifactId>
<version>${shoal.version}</version>
</dependency>
<dependency>
<groupId>org.glassfish.shoal</groupId>
<artifactId>shoal-cache</artifactId>
<version>${shoal.version}</version>
</dependency>
<!-- GlassFish High Availability -->
<dependency>
<groupId>org.glassfish.ha</groupId>
<artifactId>ha-api</artifactId>
<version>${ha-api.version}</version>
</dependency>
<!-- OSGi / Felix -->
<dependency>
<groupId>org.osgi</groupId>
<artifactId>osgi.cmpn</artifactId>
<version>7.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>osgi.annotation</artifactId>
<version>7.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>osgi.core</artifactId>
<version>7.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>osgi.enterprise</artifactId>
<version>7.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.main</artifactId>
<version>7.0.3</version>
</dependency>
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.webconsole</artifactId>
<version>4.7.2</version>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.util.promise</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.util.function</artifactId>
<version>1.1.0</version>
</dependency>
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.eventadmin</artifactId>
<version>1.6.2</version>
</dependency>
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.shell</artifactId>
<version>1.4.3</version>
</dependency>
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.gogo.runtime</artifactId>
<version>1.1.6</version>
</dependency>
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.gogo.shell</artifactId>
<version>1.1.4</version>
</dependency>
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.gogo.command</artifactId>
<version>1.1.2</version>
</dependency>
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.fileinstall</artifactId>
<version>3.7.4</version>
</dependency>
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.configadmin</artifactId>
<version>1.9.22</version>
</dependency>
<!-- Felix SCR used to include/embed promise, but after 2.0.12 stopped doing that. Since Felix Core doesn't export
these packages, we have to deploy them together with Felix SCR. -->
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.scr</artifactId>
<version>2.2.0</version>
</dependency>
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.bundlerepository</artifactId>
<version>2.0.10</version>
</dependency>
<!-- This is currently used by osgi-shell cmd, but can be used for others as well -->
<dependency>
<groupId>jline</groupId>
<artifactId>jline</artifactId>
<version>2.14.5</version>
</dependency>
<!--3rd party dependencies -->
<dependency>
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging</artifactId>
<version>${jboss.logging.version}</version>
</dependency>
<dependency>
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging-annotations</artifactId>
<version>${jboss.logging.annotation.version}</version>
</dependency>
<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>${javassist.version}</version>
</dependency>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm</artifactId>
<version>${asm.version}</version>
</dependency>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm-analysis</artifactId>
<version>${asm.version}</version>
</dependency>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm-commons</artifactId>
<version>${asm.version}</version>
</dependency>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm-tree</artifactId>
<version>${asm.version}</version>
</dependency>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm-util</artifactId>
<version>${asm.version}</version>
</dependency>
<dependency>
<groupId>javax.xml.stream</groupId>
<artifactId>stax-api</artifactId>
<version>${stax-api.version}</version>
</dependency>
<!-- Jettison is a Java library for converting XML to JSON -->
<dependency>
<groupId>org.codehaus.jettison</groupId>
<artifactId>jettison</artifactId>
<version>${jettison.version}</version>
</dependency>
<!-- Jackson - "the Java JSON library" -->
<dependency>
<groupId>com.fasterxml</groupId>
<artifactId>classmate</artifactId>
<version>${fasterxml.classmate.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson-databind.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.module</groupId>
<artifactId>jackson-module-jaxb-annotations</artifactId>
<version>${jackson.version}</version>
<exclusions>
<exclusion>
<groupId>*</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>antlr</groupId>
<artifactId>antlr</artifactId>
<version>2.7.7</version>
</dependency>
<dependency>
<groupId>org.jvnet.mimepull</groupId>
<artifactId>mimepull</artifactId>
<version>${mimepull.version}</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest</artifactId>
<version>2.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.easymock</groupId>
<artifactId>easymock</artifactId>
<version>${easymock.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jmockit</groupId>
<artifactId>jmockit</artifactId>
<version>${jmockit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-core</artifactId>
<version>${jmh.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-generator-annprocess</artifactId>
<version>${jmh.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>${commons-io.version}</version>
</dependency>
<dependency>
<groupId>org.glassfish.external</groupId>
<artifactId>ant</artifactId>
<version>${ant.version}</version>
</dependency>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant-launcher</artifactId>
<version>1.10.8</version>
</dependency>
<dependency>
<groupId>org.glassfish.external</groupId>
<artifactId>jsch</artifactId>
<version>${jsch.version}</version>
</dependency>
<dependency>
<groupId>org.bsc.maven</groupId>
<artifactId>maven-processor-plugin</artifactId>
<version>3.3.3</version>
</dependency>
<dependency>
<groupId>org.glassfish.annotations</groupId>
<artifactId>logging-annotation-processor</artifactId>
<version>${logging-annotation-processor.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<defaultGoal>install</defaultGoal>
<sourceDirectory>src/main/java</sourceDirectory>
<finalName>${project.artifactId}</finalName>
<resources>
<resource>
<directory>src/main/resources</directory>
<excludes>
<exclude>**/.ade_path/**</exclude>
<exclude>**/.gitkeep_empty_dir</exclude>
</excludes>
</resource>
</resources>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.glassfish.hk2</groupId>
<artifactId>config-generator</artifactId>
<version>${hk2.config-generator.version}</version>
</plugin>
<plugin>
<groupId>org.glassfish.hk2</groupId>
<artifactId>hk2-inhabitant-generator</artifactId>
<version>${hk2.plugin.version}</version>
</plugin>
<plugin>
<groupId>org.glassfish.hk2</groupId>
<artifactId>osgiversion-maven-plugin</artifactId>
<version>${hk2.plugin.version}</version>
</plugin>
<plugin>
<groupId>org.glassfish.hk2</groupId>
<artifactId>consolidatedbundle-maven-plugin</artifactId>
<version>${hk2.plugin.version}</version>
</plugin>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>3.0.0</version>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>5.1.4</version>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.10.1</version>
<configuration>
<source>11</source>
<target>11</target>
<excludes>
<exclude>**/.ade_path/**</exclude>
</excludes>
<testExcludes>
<testExclude>**/.ade_path/**</testExclude>
</testExcludes>
</configuration>
</plugin>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.2.0</version>
</plugin>
<plugin>
<groupId>org.glassfish.build</groupId>
<artifactId>glassfishbuild-maven-plugin</artifactId>
<version>3.2.27</version>
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.3.1</version>
</plugin>
<plugin>
<artifactId>maven-source-plugin</artifactId>
<version>3.2.1</version>
</plugin>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M5</version>
<configuration>
<argLine>${surefire.argLine}</argLine>
<trimStackTrace>false</trimStackTrace>
<useSystemClassLoader>true</useSystemClassLoader>
<forkCount>1</forkCount>
<forkNode implementation="org.apache.maven.plugin.surefire.extensions.SurefireForkNodeFactory"/>
<excludes>
<exclude>**/*ITest.java</exclude>
<exclude>**/*IT.java</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<version>3.0.0-M5</version>
<configuration>
<argLine>${failsafe.argLine}</argLine>
<trimStackTrace>false</trimStackTrace>
<useSystemClassLoader>true</useSystemClassLoader>
<verbose>true</verbose>
<forkNode implementation="org.apache.maven.plugin.surefire.extensions.SurefireForkNodeFactory"/>
<includes>
<include>**/*ITest.java</include>
<include>**/*IT.java</include>
</includes>
</configuration>
<executions>
<execution>
<id>integration-test</id>
<goals>
<goal>integration-test</goal>
</goals>
</execution>
<execution>
<id>verify</id>
<goals>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>3.1.2</version>
<configuration>
<configLocation>org/glassfish/qa/config/checkstyle/checkstyle.xml</configLocation>
<suppressionsLocation>org/glassfish/qa/config/checkstyle/checkstyle-suppressions.xml</suppressionsLocation>
<includeTestSourceDirectory>true</includeTestSourceDirectory>
<skip>${checkstyle.skip}</skip>
<logViolationsToConsole>true</logViolationsToConsole>
<excludes>**/generated-sources/**/*</excludes>
<!-- build-helper-plugin adds the root as a resource path, but checkstyle overrides the filter and
adds all property files in the tree -->
<resourceExcludes>
**/appserver/**/src/main/resources/**/*,
**/deployment/**/src/main/resources/**/*,
**/target/**/*,
</resourceExcludes>
</configuration>
<dependencies>
<dependency>
<groupId>org.glassfish.main</groupId>
<artifactId>glassfish-qa-config</artifactId>
<version>${project.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.puppycrawl.tools</groupId>
<artifactId>checkstyle</artifactId>
<version>9.3</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>${project.groupId}-${project.artifactId}-checkstyle</id>
<goals>
<goal>check</goal>
</goals>
<!-- why: tests first, quality requirements later -->
<phase>verify</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.googlecode.maven-download-plugin</groupId>
<artifactId>download-maven-plugin</artifactId>
<version>1.6.8</version>
</plugin>
<plugin>
<artifactId>maven-release-plugin</artifactId>
<version>3.0.0-M5</version>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.2.0</version>
</plugin>
<plugin>
<artifactId>maven-site-plugin</artifactId>
<version>3.10.0</version>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.3.0</version>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>3.0.0-M2</version>
</plugin>
<plugin>
<artifactId>maven-install-plugin</artifactId>
<version>3.0.0-M1</version>
</plugin>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.2</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.3.0</version>
</plugin>
<plugin>
<artifactId>maven-invoker-plugin</artifactId>
<version>3.2.2</version>
</plugin>
<plugin>
<groupId>org.glassfish.copyright</groupId>
<artifactId>glassfish-copyright-maven-plugin</artifactId>
<version>2.4</version>
<configuration>
<scm>git</scm>
<scmOnly>true</scmOnly>
<exclude>
<pattern>.gif</pattern>
<pattern>.jpg</pattern>
<pattern>.png</pattern>
<pattern>.exe</pattern>
<pattern>.ico</pattern>
<pattern>.jar</pattern>
<pattern>.zip</pattern>
<pattern>.war</pattern>
<pattern>.ear</pattern>
<pattern>.sql</pattern>
<pattern>.jks</pattern>
<pattern>.json</pattern>
<pattern>.class</pattern>
<pattern>.txt</pattern>
<pattern>.log</pattern>
<pattern>.bin</pattern>
<pattern>.bat</pattern>
<pattern>.1</pattern>
<pattern>.1m</pattern>
<pattern>.5asc</pattern>
<pattern>/TODO</pattern>
<pattern>/MANIFEST.MF</pattern>
<pattern>/manifest.mf</pattern>
<pattern>/META-INF/services/</pattern>
<pattern>/META-INF/hiddenservices/</pattern>
<pattern>/README</pattern>
<pattern>/yui/</pattern>
<pattern>/zlib-1.1.4/</pattern>
<pattern>deployment/dtds/</pattern>
<pattern>deployment/schemas/</pattern>
<pattern>admin/cli/src/main/resources/unsupported-legacy-command-names</pattern>
<pattern>admin/cli/src/main/resources/supported-legacy-command-names</pattern>
<pattern>/readme</pattern>
<pattern>cluster/cli/src/test/resources/fake_gf_install_dir/junk</pattern>
</exclude>
<ignoreYear>true</ignoreYear>
</configuration>
</plugin>
<plugin>
<groupId>com.google.code.maven-replacer-plugin</groupId>
<artifactId>replacer</artifactId>
<version>${replacer.plugin.version}</version>
</plugin>
<plugin>
<groupId>io.github.git-commit-id</groupId>
<artifactId>git-commit-id-maven-plugin</artifactId>
<version>5.0.0</version>
<executions>
<execution>
<id>get-the-git-infos</id>
<goals>
<goal>revision</goal>
</goals>
<phase>initialize</phase>
</execution>
</executions>
<configuration>
<includeOnlyProperties>
<includeOnlyProperty>git.branch</includeOnlyProperty>
<includeOnlyProperty>git.build.time</includeOnlyProperty>
<includeOnlyProperty>git.commit.id.abbrev</includeOnlyProperty>
<includeOnlyProperty>git.closest.tag.commit.count</includeOnlyProperty>
</includeOnlyProperties>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<!-- Sets minimal Maven version to 3.5.4 -->
<plugin>
<artifactId>maven-enforcer-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<id>enforce-maven</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireMavenVersion>
<version>3.5.4</version>
</requireMavenVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>add-resource</id>
<phase>generate-resources</phase>
<goals>
<goal>add-resource</goal>
</goals>
<configuration>
<resources>
<resource>
<directory>src/main/manpages</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>${legal.doc.source}</directory>
<targetPath>META-INF</targetPath>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.glassfish.build</groupId>
<artifactId>glassfishbuild-maven-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<dir>${project.build.outputDirectory}</dir>
</configuration>
<executions>
<execution>
<id>echo</id>
<phase>validate</phase>
<goals>
<goal>echo</goal>
</goals>
<configuration>
<message>Building in ${project.basedir} </message>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>common-resources</id>
<phase>generate-resources</phase>
<goals>
<goal>single</goal>
</goals>
<inherited>false</inherited>
<configuration>
<descriptors>
<descriptor>src/main/assembly/resources.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
<!-- Add the license and the notice file to every module -->
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>unpack-resource</id>
<phase>generate-resources</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.glassfish.main</groupId>
<artifactId>nucleus-parent</artifactId>
<version>${project.version}</version>
<classifier>resources</classifier>
<type>zip</type>
<outputDirectory>${project.build.commonResourcesDirectory}</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.glassfish.hk2</groupId>
<artifactId>hk2-inhabitant-generator</artifactId>
<configuration>
<supportedProjectTypes>jar,ejb,war,glassfish-jar</supportedProjectTypes>
</configuration>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<useSystemClassLoader>true</useSystemClassLoader>
<forkCount>1</forkCount>
</configuration>
</plugin>
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<configuration>
<!-- By default, we don't export anything. -->
<Export-Package />
<instructions>
<_include>-osgi.bundle</_include>
</instructions>
<excludeDependencies>tools-jar</excludeDependencies>
<supportedProjectTypes>
<supportedProjectType>glassfish-jar</supportedProjectType>
<supportedProjectType>jar</supportedProjectType>
</supportedProjectTypes>
<niceManifest>true</niceManifest>
</configuration>
</plugin>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>default-manifest</id>
<phase>test</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<echo level="info">Generating manifest for ${project.build.outputDirectory}/META-INF for
${project.artifactId}</echo>
<echo file="${basedir}/target/MANIFEST.MF">Manifest-Version: 1.0</echo>
<copy toDir="${project.build.outputDirectory}/META-INF" overwrite="false">
<fileset dir="${basedir}/target" includes="MANIFEST.MF">
<present targetdir="${project.build.outputDirectory}/META-INF"
present="srconly" />
</fileset>
</copy>
</target>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathLayoutType>custom</classpathLayoutType>
<customClasspathLayout>${artifact.artifactId}.${artifact.extension}</customClasspathLayout>
</manifest>
<manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
</archive>
<excludes>
<exclude>**/.ade_path/**</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<artifactId>maven-source-plugin</artifactId>
<configuration>
<includePom>true</includePom>
<excludes>
<exclude>**/.ade_path/**</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<detectOfflineLinks>false</detectOfflineLinks>
<additionalparam>-Xdoclint:none</additionalparam>
<skip>${javadoc.skip}</skip>
</configuration>
</plugin>
<plugin>
<groupId>org.glassfish.hk2</groupId>
<artifactId>osgiversion-maven-plugin</artifactId>
<!-- Since we don't want qualifier like b05 or SNAPSHOT to appear in package version attribute, we use the
following goal to populate a project property with an OSGi version which is equivalent to maven version without qualifier
and then use that property in osgi.bundle while exporting. -->
<configuration>
<dropVersionComponent>qualifier</dropVersionComponent>
<versionPropertyName>project.osgi.version</versionPropertyName>
</configuration>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<configuration>
<retryFailedDeploymentCount>10</retryFailedDeploymentCount>
<skip>${deploy.skip}</skip>
</configuration>
</plugin>
<plugin>
<artifactId>maven-checkstyle-plugin</artifactId>
<inherited>true</inherited>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>${findbugs.version}</version>
<configuration>
<skip>${findbugs.skip}</skip>
<threshold>${findbugs.threshold}</threshold>
<findbugsXmlWithMessages>true</findbugsXmlWithMessages>
<excludeFilterFile>
${findbugs.common},${findbugs.exclude}
</excludeFilterFile>
<jvmArgs>-Dfindbugs.glassfish.logging.validLoggerPrefixes=${findbugs.glassfish.logging.validLoggerPrefixes}</jvmArgs>
<plugins>
<plugin>
<groupId>org.glassfish.findbugs</groupId>
<artifactId>findbugs-logging-detectors</artifactId>
<version>1.6</version>
</plugin>
</plugins>
</configuration>
<dependencies>
<dependency>
<groupId>org.glassfish.findbugs</groupId>
<artifactId>findbugs</artifactId>
<version>1.7</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<artifactId>maven-site-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.glassfish.build</groupId>
<artifactId>command-security-maven-plugin</artifactId>
<version>${command-security-plugin.version}</version>
<configuration>
<isFailureFatal>${command.security.maven.plugin.isFailureFatal}</isFailureFatal>
</configuration>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>${findbugs.version}</version>
<configuration>
<skip>${findbugs.skip}</skip>
<threshold>${findbugs.threshold}</threshold>
<excludeFilterFile>
exclude-common.xml,${findbugs.exclude}
</excludeFilterFile>
</configuration>
</plugin>
</plugins>
</reporting>
<profiles>
<profile>
<id>default</id>
<activation>
<file>
<exists>${java.home}/../lib/tools.jar</exists>
</file>
</activation>
<dependencies>
<dependency>
<groupId>com.sun</groupId>
<artifactId>tools-jar</artifactId>
<version>1</version>
<scope>system</scope>
<systemPath>${java.home}/../lib/tools.jar</systemPath>
</dependency>
</dependencies>
</profile>
<profile>
<id>mac</id>
<activation>
<file>
<exists>${java.home}/../Classes/classes.jar</exists>
</file>
</activation>
<dependencies>
<dependency>
<groupId>com.sun</groupId>
<artifactId>tools-jar</artifactId>
<version>1</version>
<scope>system</scope>
<systemPath>${java.home}/../Classes/classes.jar</systemPath>
</dependency>
</dependencies>
</profile>
<profile>
<id>release-phase2</id>
<build>
<plugins>
<plugin>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-gpg-plugin</artifactId>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>fast</id>
<properties>
<checkstyle.skip>true</checkstyle.skip>
<maven.javadoc.skip>true</maven.javadoc.skip>
<skipITs>true</skipITs>
</properties>
</profile>
<profile>
<id>fastest</id>
<properties>
<checkstyle.skip>true</checkstyle.skip>
<maven.javadoc.skip>true</maven.javadoc.skip>
<maven.test.skip>true</maven.test.skip>
</properties>
</profile>
<profile>
<id>source</id>
<build>
<plugins>
<plugin>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>findbugs</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<properties>
<maven.test.skip>true</maven.test.skip>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<executions>
<execution>
<id>run-findbugs</id>
<phase>compile</phase>
<goals>
<goal>findbugs</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>jacoco</id>
<properties>
<jacoco.report.outputDirectory>${project.build.directory}/jacoco</jacoco.report.outputDirectory>
<jacoco.version>0.8.7</jacoco.version>
<maven.test.failure.ignore>true</maven.test.failure.ignore>
<surefire.argLine>${maven.test.jvmoptions} @{argLine}</surefire.argLine>
</properties>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${jacoco.version}</version>
<configuration>
<outputDirectory>${project.build.directory}</outputDirectory>
<includes>
<include>org/glassfish/**</include>
<include>com/sun/enterprise/**</include>
</includes>
<formats>
<!-- Eclipse uses exec files, SonarQube uses xml reports -->
<format>XML</format>
</formats>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<!-- Generates @argLine for surefire and failsafe plugins -->
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<executions>
<execution>
<id>agent-for-unit-tests</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>agent-for-integration-tests</id>
<goals>
<goal>prepare-agent-integration</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>verify</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
<execution>
<id>report-integration</id>
<phase>verify</phase>
<goals>
<goal>report-integration</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>edit-manPages-javaEEVersion</id>
<build>
<plugins>
<plugin>
<groupId>com.google.code.maven-replacer-plugin</groupId>
<artifactId>replacer</artifactId>
<executions>
<execution>
<phase>prepare-package</phase>
<goals>
<goal>replace</goal>
</goals>
</execution>
</executions>
<configuration>
<basedir>${project.basedir}</basedir>
<includes>
<include>**/*.1</include>
<include>**/*.1m</include>
<include>**/*.5asc</include>
</includes>
<replacements>
<replacement>
<token>Java EE ${javaee.version.old}</token>
<value>Java EE ${javaee.version.new}</value>
</replacement>
</replacements>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>