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

    Copyright (c) 2022 Contributors to the Eclipse Foundation. All rights reserved.
    Copyright (c) 1997, 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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.glassfish.main.admin</groupId>
        <artifactId>nucleus-admin</artifactId>
        <version>9.0.0-M2</version>
    </parent>

    <artifactId>admin-util</artifactId>
    <packaging>glassfish-jar</packaging>

    <name>admin-util</name>
    <description>Admin Utilities</description>

    <developers>
        <developer>
            <id>dochez</id>
            <name>Jerome Dochez</name>
            <url>http://blogs.sun.com/dochez</url>
            <organization>Oracle, Inc.</organization>
            <roles>
                <role>lead</role>
                <role>developer</role>
            </roles>
        </developer>
    </developers>

    <properties>
        <command.security.maven.plugin.isFailureFatal>false</command.security.maven.plugin.isFailureFatal>
        <copy.modules.to.distribution.skip>false</copy.modules.to.distribution.skip>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.glassfish.hk2</groupId>
            <artifactId>hk2</artifactId>
        </dependency>

        <dependency>
            <groupId>jakarta.xml.bind</groupId>
            <artifactId>jakarta.xml.bind-api</artifactId>
        </dependency>
        <dependency>
            <groupId>com.sun.xml.bind</groupId>
            <artifactId>jaxb-osgi</artifactId>
        </dependency>

        <dependency>
            <groupId>org.glassfish.main.common</groupId>
            <artifactId>common-util</artifactId>
            <version>${project.parent.version}</version>
        </dependency>
        <dependency>
            <groupId>org.glassfish.main.admin</groupId>
            <artifactId>config-api</artifactId>
            <version>${project.parent.version}</version>
        </dependency>
        <dependency>
            <groupId>org.glassfish.main.common</groupId>
            <artifactId>internal-api</artifactId>
            <version>${project.parent.version}</version>
        </dependency>

        <!--
            We compile against the security module but we don't want to create a hard dependency because that
            would drag it into the nucleus distribution which we'd like to avoid.

            The actual uses of SSLUtils from the security module are instantiated just-in-time only when needed,
            rather than being injected.
        -->
        <dependency>
            <groupId>org.glassfish.main.security</groupId>
            <artifactId>security</artifactId>
            <version>${project.parent.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.glassfish.main.security</groupId>
            <artifactId>security-services</artifactId>
            <version>${project.parent.version}</version>
        </dependency>
        <dependency>
            <groupId>org.glassfish.annotations</groupId>
            <artifactId>logging-annotation-processor</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.jvnet.mimepull</groupId>
            <artifactId>mimepull</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.codehaus.jettison</groupId>
            <artifactId>jettison</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
        </dependency>

        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
        </dependency>
        <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest</artifactId>
        </dependency>
        <dependency>
            <groupId>org.glassfish.main</groupId>
            <artifactId>test-utils</artifactId>
            <version>${project.version}</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*</include>
                </includes>
                <excludes>
                    <exclude>**/.gitkeep_empty_dir</exclude>
                </excludes>
            </resource>
        </resources>
        <pluginManagement>
            <plugins>
                <plugin>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <configuration>
                        <environmentVariables>
                            <GF_CLIENT_DIR>${project.build.directory}/gfclientdir</GF_CLIENT_DIR>
                        </environmentVariables>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-bundle-plugin</artifactId>
                <configuration>
                    <instructions>
                        <Export-Package>
                            com.sun.enterprise.admin.commands,
                            com.sun.enterprise.admin.event,
                            com.sun.enterprise.admin.progress,
                            com.sun.enterprise.admin.remote,
                            com.sun.enterprise.admin.util,
                            com.sun.enterprise.admin.util.cache,
                            com.sun.enterprise.admin.util.jmx,
                            com.sun.enterprise.admin.util.proxy,
                            com.sun.enterprise.admin.remote.reader,
                            com.sun.enterprise.admin.remote.sse,
                            com.sun.enterprise.admin.remote.writer,
                            com.sun.enterprise.admin.util.test,
                            org.glassfish.admin.cli.resources
                        </Export-Package>
                        <DynamicImport-Package>com.sun.enterprise.security.ssl</DynamicImport-Package>
                    </instructions>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>
