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

    Copyright (c) 2021 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>6.2.6</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>
        <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>

        <!-- Jakarta API Versions -->

        <!-- Jakarta EL -->
        <jakarta.el-api.version>4.0.0</jakarta.el-api.version>
        <jakarta.el.version>4.0.2</jakarta.el.version>

        <!-- Jakarta Servlet -->
        <servlet-api.version>5.0.0</servlet-api.version>

        <!-- Jakarta Validation -->
        <jakarta.validation.version>3.0.0</jakarta.validation.version>
        <hibernate-validator.version>7.0.2.Final</hibernate-validator.version>

        <!-- Jakarta Web Services -->
        <webservices.version>3.0.3</webservices.version>

        <!-- Jakarta Inject -->
        <jakarta.inject-api.version>2.0.0</jakarta.inject-api.version>

        <!-- Jakarta XML Binding -->
        <jakarta.jaxb-api.version>3.0.1</jakarta.jaxb-api.version>
        <jakarta.jaxb-impl.version>3.0.2</jakarta.jaxb-impl.version>

        <!-- Jakarta REST -->
        <jax-rs-api.spec.version>3.0</jax-rs-api.spec.version>
        <jax-rs-api.impl.version>3.0.0</jax-rs-api.impl.version>
        <jersey.version>3.0.3</jersey.version>

        <!-- Jakarta Mail -->
        <mail.version>2.0.1</mail.version>

        <!-- Jakarta Activation -->
        <activation.version>2.0.1</activation.version>

        <!-- Jakarta Annotations -->
        <jakarta.annotation-api.version>2.0.0</jakarta.annotation-api.version>

        <!-- GlassFish Components -->
        <glassfish-corba.version>4.2.4</glassfish-corba.version>
        <grizzly.version>3.0.1</grizzly.version>
        <grizzly.npn.version>2.0.0</grizzly.npn.version>
        <glassfish-management-api.version>3.2.3</glassfish-management-api.version>
        <hk2.version>3.0.2</hk2.version>
        <hk2.plugin.version>3.0.2</hk2.plugin.version>
        <hk2.config-generator.version>2.5.0-b53</hk2.config-generator.version>
        <pfl.version>4.1.2</pfl.version>

        <gmbal.version>4.0.3</gmbal.version>
        <shoal.version>2.0.0</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 -->
        <stax-api.version>1.0-2</stax-api.version>
        <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>
        <fasterxml.classmate.version>1.5.1</fasterxml.classmate.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.1</jackson.version>
        <jettison.version>1.4.1</jettison.version>
        <mimepull.version>1.9.14</mimepull.version>
        <asm.version>9.2</asm.version>

        <commons-io.version>2.11.0</commons-io.version>

        <nucleus.install.dir.name>nucleus</nucleus.install.dir.name>
        <javadoc.skip>false</javadoc.skip>
        <deploy.skip>false</deploy.skip>
        <replacer.plugin.version>1.5.3</replacer.plugin.version>
        <javaee.version.old>8</javaee.version.old>
        <javaee.version.new>9</javaee.version.new>

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

        <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>
            <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.metro</groupId>
                <artifactId>webservices-extra-jdk-packages</artifactId>
                <version>${webservices.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>
            <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>com.fasterxml</groupId>
                <artifactId>classmate</artifactId>
                <version>${fasterxml.classmate.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.grizzly</groupId>
                <artifactId>grizzly-bom</artifactId>
                <version>${grizzly.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.glassfish.jersey</groupId>
                <artifactId>jersey-bom</artifactId>
                <version>${jersey.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>
            <dependency>
                <groupId>javax.xml.stream</groupId>
                <artifactId>stax-api</artifactId>
                <version>${stax-api.version}</version>
            </dependency>
            <dependency>
                <groupId>antlr</groupId>
                <artifactId>antlr</artifactId>
                <version>2.7.7</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.external</groupId>
                <artifactId>management-api</artifactId>
                <version>${glassfish-management-api.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.gmbal</groupId>
                <artifactId>gmbal</artifactId>
                <version>${gmbal.version}</version>
            </dependency>
            <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.6.2</version>
            </dependency>
            <dependency>
                <groupId>org.apache.felix</groupId>
                <artifactId>org.apache.felix.eventadmin</artifactId>
                <version>1.6.2</version>
            </dependency>

            <dependency>
                <groupId>jakarta.servlet</groupId>
                <artifactId>jakarta.servlet-api</artifactId>
                <version>${servlet-api.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.el</groupId>
                <artifactId>jakarta.el-api</artifactId>
                <version>${jakarta.el-api.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.ws.rs</groupId>
                <artifactId>jakarta.ws.rs-api</artifactId>
                <version>${jax-rs-api.impl.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.xml.bind</groupId>
                <artifactId>jakarta.xml.bind-api</artifactId>
                <version>${jakarta.jaxb-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>
            <dependency>
                <groupId>jakarta.annotation</groupId>
                <artifactId>jakarta.annotation-api</artifactId>
                <version>${jakarta.annotation-api.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish</groupId>
                <artifactId>jakarta.el</artifactId>
                <version>${jakarta.el.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.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>org.codehaus.jettison</groupId>
                <artifactId>jettison</artifactId>
                <version>${jettison.version}</version>
            </dependency>

            <dependency>
                <groupId>org.jvnet.mimepull</groupId>
                <artifactId>mimepull</artifactId>
                <version>${mimepull.version}</version>
            </dependency>
            <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>
            <dependency>
                <groupId>jakarta.mail</groupId>
                <artifactId>jakarta.mail-api</artifactId>
                <version>${mail.version}</version>
            </dependency>
            <dependency>
                <groupId>com.sun.mail</groupId>
                <artifactId>jakarta.mail</artifactId>
                <version>${mail.version}</version>
            </dependency>
            <dependency>
                <groupId>com.sun.activation</groupId>
                <artifactId>jakarta.activation</artifactId>
                <version>${activation.version}</version>
            </dependency>
            <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>

            <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.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>
            <dependency>
                <groupId>org.glassfish.ha</groupId>
                <artifactId>ha-api</artifactId>
                <version>${ha-api.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>
            <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.4</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.0</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.1.28</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.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>
            <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>org.javassist</groupId>
                <artifactId>javassist</artifactId>
                <version>${javassist.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.validation</groupId>
                <artifactId>jakarta.validation-api</artifactId>
                <version>${jakarta.validation.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.8.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.1.2</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>8.43</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.7</version>
                </plugin>
                <plugin>
                    <artifactId>maven-release-plugin</artifactId>
                    <version>3.0.0-M1</version>
                </plugin>
                <plugin>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>3.2.0</version>
                </plugin>
                <plugin>
                    <artifactId>maven-site-plugin</artifactId>
                    <version>3.9.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-M1</version>
                </plugin>
                <plugin>
                    <artifactId>maven-install-plugin</artifactId>
                    <version>3.0.0-M1</version>
                </plugin>
                <plugin>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>3.2.0</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>build-helper-maven-plugin</artifactId>
                    <version>3.2.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-M3</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>

            <!-- force cleaning of the local repository <plugin> <artifactId>maven-dependency-plugin</artifactId> <executions>
                <execution> <id>purge-local-dependencies</id> <phase>initialize</phase> <goals> <goal>purge-local-repository</goal> </goals>
                <configuration> <resolutionFuzziness>groupId</resolutionFuzziness> <includes> <include>jakarta.ejb</include> <include>jakarta.transaction</include>
                <include>jakarta.resource</include> <include>jakarta.enterprise.concurrent</include> <include>jakarta.ws.rs</include> <include>javax.xml.registry</include>
                <include>jakarta.websocket</include> <include>org.glassfish.jersey</include> </includes> </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>
            <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>
