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

    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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.glassfish.main</groupId>
        <artifactId>glassfish-parent</artifactId>
        <version>7.0.0-SNAPSHOT</version>
    </parent>

    <groupId>org.glassfish.main.distributions</groupId>
    <artifactId>distributions</artifactId>
    <packaging>pom</packaging>

    <name>Glassfish distributions</name>

    <developers>
        <developer>
            <id>snjezana</id>
            <name>Snjezana Sevo-Zenzerovic</name>
            <url>http://blogs.sun.com/snjezana</url>
            <organization>Oracle, Inc.</organization>
            <roles>
                <role>developer</role>
            </roles>
        </developer>
        <developer>
            <id>romain_grecourt</id>
            <name>Romain Grecourt</name>
            <organization>Oracle, Inc</organization>
            <roles>
                <role>developer</role>
            </roles>
        </developer>
    </developers>

    <modules>
        <module>web</module>
        <module>glassfish</module>
        <module>glassfish-common</module>
    </modules>

    <properties>
        <findbugs.skip>true</findbugs.skip>
        <stage.dir.name>stage</stage.dir.name>
        <stage.dir>${project.build.directory}/${stage.dir.name}</stage.dir>
        <temp.dir>${project.build.directory}/dependency</temp.dir>
        <include.group.ids>org.glassfish.main.packager,org.glassfish.main.registration</include.group.ids>
        <template.jar>${stage.dir}/${install.dir.name}/glassfish/common/templates/gf/appserver-domain.jar</template.jar>
        <create-domain.args>--user admin create-domain --template=${template.jar} --nopassword --savelogin=true --checkports=false --adminport 4848 --instanceport 8080 --keytooloptions CN=localhost domain1</create-domain.args>
    </properties>

    <build>
        <outputDirectory>${temp.dir}</outputDirectory>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.glassfish.build</groupId>
                    <artifactId>glassfishbuild-maven-plugin</artifactId>
                    <executions>
                        <execution>
                            <id>default-featuresets-dependencies</id>
                            <phase>process-resources</phase>
                            <configuration>
                                <featureSetGroupIdIncludes>org.glassfish.main.featuresets</featureSetGroupIdIncludes>
                                <stageDirectory>${temp.dir}</stageDirectory>
                                <excludes>META-INF/maven/**</excludes>
                                <copyTypes>jar,war</copyTypes>
                                <unpackTypes>zip,rar,war</unpackTypes>
                                <silent>true</silent>
                                <copyExcludes>war</copyExcludes>
                                <mappings>
                                    <mapping>
                                        <artifactId>org.apache.felix.main</artifactId>
                                        <name>felix</name>
                                    </mapping>
                                </mappings>
                            </configuration>
                        </execution>

                        <execution>
                            <id>create-domain</id>
                            <phase>process-resources</phase>
                            <configuration>
                                <executable>${stage.dir}/${install.dir.name}/bin/asadmin</executable>
                                <commandlineArgs>${create-domain.args}</commandlineArgs>
                            </configuration>
                        </execution>

                        <!-- Build glassfish.zip -->
                        <execution>
                            <id>default-zip</id>
                            <phase>package</phase>
                            <configuration>
                                <excludes>**/.gitkeep_empty_dir</excludes>
                                <duplicate>preserve</duplicate>
                                <filesets>
                                     <fileset>
                                        <fileMode>600</fileMode>
                                        <dir>${stage.dir}</dir>
                                        <includes>**/*.jks</includes>
                                        <includes>**/admin-keyfile</includes>
                                        <includes>**/domain-passwords</includes>
                                        <includes>**/keyfile</includes>
                                    </fileset>
                                    <fileset>
                                        <fileMode>640</fileMode>
                                        <dir>${stage.dir}</dir>
                                        <includes>**/bin/*.1m</includes>
                                        <includes>**/bin/*.jar</includes>
                                    </fileset>
                                    <fileset>
                                        <dir>${stage.dir}</dir>
                                        <fileMode>750</fileMode>
                                        <includes>**/bin/*</includes>
                                        <includes>**/bin/*.bat</includes>
                                        <includes>**/config/*.bat</includes>
                                        <includes>**/config/*.conf</includes>
                                        <includes>**/lib/nadmin*</includes>
                                        <includes>**/imq</includes>
                                        <includes>**/imqinit</includes>
                                        <excludes>**/bin/*.1m</excludes>
                                        <excludes>**/bin/*.jar</excludes>
                                    </fileset>
                                    <fileset>
                                        <fileMode>640</fileMode>
                                        <dir>${stage.dir}</dir>
                                        <excludes>**/bin/*</excludes>
                                        <excludes>**/bin/*.bat</excludes>
                                        <excludes>**/lib/nadmin*</excludes>
                                    </fileset>
                                </filesets>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <configuration>
                        <descriptors>
                            <descriptor>src/main/assembly/${project.artifactId}.xml</descriptor>
                        </descriptors>
                        <ignoreMissingDescriptor>false</ignoreMissingDescriptor>
                        <finalName>${stage.dir.name}</finalName>
                        <attach>false</attach>
                        <appendAssemblyId>false</appendAssemblyId>
                        <useProjectArtifact>false</useProjectArtifact>
                    </configuration>
                </plugin>
                <plugin>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <configuration>
                        <skip>true</skip>
                    </configuration>
                </plugin>
                <plugin>
                    <artifactId>maven-resources-plugin</artifactId>
                    <configuration>
                        <includeEmptyDirs>true</includeEmptyDirs>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>
</project>
