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

    Copyright (c) 2017, 2019 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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.eclipse.ee4j</groupId>
        <artifactId>project</artifactId>
        <version>1.0.5</version>
        <relativePath/>
    </parent>

    <groupId>org.glassfish.main</groupId>
    <artifactId>nucleus-parent</artifactId>
    <version>5.1.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>

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

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

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <!-- on Hudson and RE, this gets replaced by real build ID -->
        <build.id>${user.name}-private</build.id>
        <findbugs.skip>false</findbugs.skip>
        <findbugs.threshold>High</findbugs.threshold>
        <findbugs.common>exclude-common.xml</findbugs.common>
        <findbugs.exclude />
        <findbugs.version>3.0.3</findbugs.version>
        <findbugs.glassfish.logging.validLoggerPrefixes>javax.enterprise</findbugs.glassfish.logging.validLoggerPrefixes>

        <glassfish-corba.version>4.2.0</glassfish-corba.version>
        <stax-api.version>1.0-2</stax-api.version>
        <slf4j.version>1.7.21</slf4j.version>
        <javax.validation.osgi.version>2.0.0</javax.validation.osgi.version>
        <management-api.version>1.1-rev-1</management-api.version>
        <servlet-api.version>4.0.2</servlet-api.version>
        <grizzly.version>2.4.4</grizzly.version>
        <grizzly.npn.version>1.9</grizzly.npn.version>
        <jboss.logging.annotation.version>2.1.0.Final</jboss.logging.annotation.version>
        <!-- Ensure that appserver/pom.xml's javax.validation property is of same value as the one below -->
        <javax.validation.version>2.0.1.Final</javax.validation.version>
        <hibernate-validator.version>6.0.10.Final</hibernate-validator.version>
        <javassist.version>3.22.0-GA</javassist.version>
        <jakarta.el.version>3.0.2</jakarta.el.version>
        <jakarta.el-api.version>3.0.2</jakarta.el-api.version>
        <hk2.version>2.5.0</hk2.version>
        <hk2.plugin.version>2.5.0</hk2.plugin.version>
        <jboss.logging.version>3.3.1.Final</jboss.logging.version>
        <fasterxml.classmate.version>1.3.3</fasterxml.classmate.version>
        <jsch.version>0.1.55</jsch.version>
        <pfl.version>4.0.1</pfl.version>
        <gmbal.version>4.0.0</gmbal.version>
        <antlr.version>2.7.7</antlr.version>
        <ant.version>1.10.1</ant.version>
        <jersey.version>2.28-RC3</jersey.version>
        <jackson.version>2.9.4</jackson.version>
        <jettison.version>1.3.7</jettison.version>
        <jaxb-api.version>2.3.2</jaxb-api.version>
        <jax-rs-api.spec.version>2.1</jax-rs-api.spec.version>
        <jax-rs-api.impl.version>2.1.3</jax-rs-api.impl.version>
        <mimepull.version>1.9.11</mimepull.version>
        <glassfish-management-api.version>3.2.1</glassfish-management-api.version>
        <asm.version>6.0_ALPHA</asm.version>
        <shoal.version>1.6.53</shoal.version>
        <ha-api.version>3.1.12</ha-api.version>
        <glassfishbuild.version>3.2.27</glassfishbuild.version>
        <logging-annotation-processor.version>1.9</logging-annotation-processor.version>
        <command-security-plugin.version>1.0.10</command-security-plugin.version>
        <command.security.maven.plugin.isFailureFatal>false</command.security.maven.plugin.isFailureFatal>
        <mail.version>1.6.3</mail.version>
        <jakarta.annotation-api.version>1.3.4</jakarta.annotation-api.version>
        <copyright-plugin.version>1.50</copyright-plugin.version>
        <testng.version>6.11</testng.version>
        <jdk.version>1.7.0-09</jdk.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>7</javaee.version.old>
        <javaee.version.new>8</javaee.version.new>
        <jmockit.version>1.36</jmockit.version>
        <osgi-resource-locator.version>1.0.3</osgi-resource-locator.version>
    </properties>

    <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>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>
                    <groupId>org.jvnet.maven-antrun-extended-plugin</groupId>
                    <artifactId>maven-antrun-extended-plugin</artifactId>
                    <version>1.43</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-antrun-plugin</artifactId>
                    <version>1.7</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.felix</groupId>
                    <artifactId>maven-bundle-plugin</artifactId>
                    <version>2.3.4</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.6.1</version>
                    <configuration>
                        <compilerArgument>-Djava.endorsed.dirs=${project.build.directory}/endorsed</compilerArgument>
                        <source>1.8</source>
                        <target>1.8</target>
                        <excludes>
                            <exclude>**/.ade_path/**</exclude>
                        </excludes>
                        <testExcludes>
                            <testExclude>**/.ade_path/**</testExclude>
                        </testExcludes>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <version>2.10</version>
                </plugin>
                <plugin>
                    <groupId>org.glassfish.build</groupId>
                    <artifactId>glassfishbuild-maven-plugin</artifactId>
                    <version>${glassfishbuild.version}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>2.9.1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-source-plugin</artifactId>
                    <version>2.1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-clean-plugin</artifactId>
                    <version>2.4.1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.4.3</version>
                    <configuration>
                        <useSystemClassLoader>true</useSystemClassLoader>
                        <forkMode>none</forkMode>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-release-plugin</artifactId>
                    <version>2.4</version>
                </plugin>
                <plugin>
                    <groupId>org.jvnet.updatecenter2</groupId>
                    <artifactId>maven-makepkgs-plugin</artifactId>
                    <version>0.5.1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-remote-resources-plugin</artifactId>
                    <version>1.1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>2.4.3</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-site-plugin</artifactId>
                    <version>3.3</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <version>2.3</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-deploy-plugin</artifactId>
                    <version>2.7</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-install-plugin</artifactId>
                    <version>2.4</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>2.4</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>build-helper-maven-plugin</artifactId>
                    <version>1.7</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-eclipse-plugin</artifactId>
                    <version>2.9</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-invoker-plugin</artifactId>
                    <version>1.8</version>
                </plugin>
                <plugin>
                    <groupId>org.glassfish.copyright</groupId>
                    <artifactId>glassfish-copyright-maven-plugin</artifactId>
                    <version>${copyright-plugin.version}</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>
            </plugins>
        </pluginManagement>

        <plugins>
            <!-- force cleaning of the local repository
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <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>javax.ejb</include>
                                <include>jakarta.transaction</include>
                                <include>javax.resource</include>
                                <include>javax.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>
                <version>3.0.0</version>
                <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>
                </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>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-deploy-plugin</artifactId>
                <configuration>
                    <retryFailedDeploymentCount>10</retryFailedDeploymentCount>
                    <skip>${deploy.skip}</skip>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.glassfish.hk2</groupId>
                <artifactId>hk2-inhabitant-generator</artifactId>
                <configuration>
                    <supportedProjectTypes>jar,ejb,war,glassfish-jar</supportedProjectTypes>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-eclipse-plugin</artifactId>
                <configuration>
                    <downloadSources>true</downloadSources>
                    <downloadJavadocs>true</downloadJavadocs>
                    <addGroupIdToProjectName>true</addGroupIdToProjectName>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <useDefaultManifestFile>true</useDefaultManifestFile>
                    <archive>
                        <manifest>
                            <addClasspath>true</addClasspath>
                            <classpathLayoutType>custom</classpathLayoutType>
                            <customClasspathLayout>$${artifact.artifactId}.$${artifact.extension}</customClasspathLayout>
                        </manifest>
                    </archive>
                    <excludes>
                        <exclude>**/.ade_path/**</exclude>
                    </excludes>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-bundle-plugin</artifactId>
                <configuration>
                    <!-- By default, we don't export anything. -->
                    <Export-Package />
                    <instructions>
                        <!-- Read all the configuration from osgi.bundle file, if it exists.
                             See Felix-699 to find out why we use ${basedir}.
                        -->
                        <_include>-${basedir}/osgi.bundle</_include>
                    </instructions>
                    <excludeDependencies>tools-jar</excludeDependencies>
                    <supportedProjectTypes>
                        <supportedProjectType>glassfish-jar</supportedProjectType>
                        <supportedProjectType>jar</supportedProjectType>
                    </supportedProjectTypes>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <configuration>
                    <includePom>true</includePom>
                    <excludes>
                        <exclude>**/.ade_path/**</exclude>
                    </excludes>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <useSystemClassLoader>true</useSystemClassLoader>
                    <forkMode>none</forkMode>
                </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>
                <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.6</version>
                    </dependency>
                </dependencies>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <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>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <configuration>
                    <detectOfflineLinks>false</detectOfflineLinks>
                    <additionalparam>-Xdoclint:none</additionalparam>
                    <skip>${javadoc.skip}</skip>
                </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>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.glassfish.hk2</groupId>
                <artifactId>hk2-bom</artifactId>
                <version>${hk2.version}</version>
                <scope>import</scope>
                <type>pom</type>
            </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>
                <scope>import</scope>
                <type>pom</type>
            </dependency>
            <dependency>
                <groupId>org.glassfish.jersey</groupId>
                <artifactId>jersey-bom</artifactId>
                <version>${jersey.version}</version>
                <scope>import</scope>
                <type>pom</type>
            </dependency>
            <dependency>
                <groupId>org.glassfish.hk2</groupId>
                <artifactId>osgi-resource-locator</artifactId>
                <version>${osgi-resource-locator.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>javax.xml.stream</groupId>
                <artifactId>stax-api</artifactId>
                <version>${stax-api.version}</version>
            </dependency>
            <dependency>
                <groupId>antlr</groupId>
                <artifactId>antlr</artifactId>
                <version>${antlr.version}</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>6.0.0</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.osgi</groupId>
                <artifactId>osgi.annotation</artifactId>
                <version>6.0.0</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.osgi</groupId>
                <artifactId>osgi.core</artifactId>
                <version>6.0.0</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.osgi</groupId>
                <artifactId>osgi.enterprise</artifactId>
                <version>6.0.0</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.felix</groupId>
                <artifactId>org.apache.felix.main</artifactId>
                <version>5.6.10</version>
            </dependency>
            <dependency>
                <groupId>org.apache.felix</groupId>
                <artifactId>org.apache.felix.webconsole</artifactId>
                <version>4.3.4</version>
            </dependency>
            <dependency>
                <groupId>org.apache.felix</groupId>
                <artifactId>org.apache.felix.eventadmin</artifactId>
                <version>1.4.10</version>
            </dependency>

            <dependency>
                <groupId>jakarta.annotation</groupId>
                <artifactId>jakarta.annotation-api</artifactId>
                <version>${jakarta.annotation-api.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.el</groupId>
                <artifactId>jakarta.el-api</artifactId>
                <version>${jakarta.el-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>
            </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>javax.help</groupId>
                <artifactId>javahelp</artifactId>
                <version>2.0.05</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>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>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-asm</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>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.12</version>
            </dependency>
            <dependency>
                <groupId>org.testng</groupId>
                <artifactId>testng</artifactId>
                <version>${testng.version}</version>
            </dependency>
            <dependency>
                <groupId>org.jmockit</groupId>
                <artifactId>jmockit</artifactId>
                <version>${jmockit.version}</version>
            </dependency>
            <dependency>
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>2.5</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.8.2</version>
            </dependency>
            <dependency>
                <groupId>jakarta.servlet</groupId>
                <artifactId>jakarta.servlet-api</artifactId>
                <version>${servlet-api.version}</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>2.0.4</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.0.10</version>
            </dependency>
            <dependency>
               <groupId>org.apache.felix</groupId>
               <artifactId>org.apache.felix.gogo.shell</artifactId>
               <version>1.0.0</version>
            </dependency>
            <dependency>
               <groupId>org.apache.felix</groupId>
               <artifactId>org.apache.felix.gogo.command</artifactId>
               <version>1.0.2</version>
            </dependency>
            <dependency>
               <groupId>org.apache.felix</groupId>
               <artifactId>org.apache.felix.fileinstall</artifactId>
               <version>3.6.4</version>
            </dependency>
            <dependency>
               <groupId>org.apache.felix</groupId>
               <artifactId>org.apache.felix.configadmin</artifactId>
               <version>1.8.16</version>
            </dependency>
            <dependency>
               <groupId>org.apache.felix</groupId>
               <artifactId>org.apache.felix.scr</artifactId>
               <version>2.0.12</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.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>2.8</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.external</groupId>
                <artifactId>asm-all</artifactId>
                <version>${asm.version}</version>
            </dependency>
            <dependency>
                <groupId>org.javassist</groupId>
                <artifactId>javassist</artifactId>
                <version>${javassist.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.validation</groupId>
                <artifactId>validation-api</artifactId>
                <version>${javax.validation.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <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>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-source-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>attach-sources</id>
                                <goals>
                                    <goal>jar-no-fork</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-javadoc-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>attach-javadocs</id>
                                <goals>
                                    <goal>jar</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <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>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>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>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
            <optional>true</optional>
        </dependency>
    </dependencies>
</project>
