<?xml version="1.0" encoding="iso-8859-1"?>
<!--

    Copyright (c) 2010, 2020 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 name="glassfish-embedded-all" default="create.distribution" basedir=".">
    <property name="rootdir" value="target"/>
    <property name="zipdir" value="${rootdir}/packager_zips"/>
    <property name="jardir" value="${rootdir}/packager_jars"/>
    <property name="gfdir" value="${jardir}/${install.dir.name}/glassfish"/>
    <property name="modulesdir" value="${gfdir}/modules"/>
    <property name="filedir" value="${rootdir}/packager_files"/>

    <target name="get.distribution.type">
        <condition property="full.distribution">
            <equals arg1="${bundlename}" arg2="org.glassfish.main.embedded.all"/>
        </condition>
        <condition property="web.distribution">
            <equals arg1="${bundlename}" arg2="org.glassfish.main.embedded.web"/>
        </condition>
        <condition property="nucleus.distribution">
            <equals arg1="${bundlename}" arg2="org.glassfish.main.embedded.nucleus"/>
        </condition>
    </target>

    <target name="create.distribution" depends="get.distribution.type">
        <antcall target="makeJarDir"/>
        <antcall target="removeJarsNotNeeded"/>
        <antcall target="addDtds"/>
        <antcall target="addRars"/>
        <antcall target="addEjbTimer"/>
        <antcall target="rejar"/>
        <attachArtifact file="${finaljar}"/>
    </target>

    <target name="makeJarDir">
        <echo message="creating jar directory..."/>
        <copy todir="${jardir}">
            <fileset dir="${zipdir}">
                <include name="*.jar"/>
            </fileset>
        </copy>

        <!-- The packager files are zips with jars inside -->
        <unzip dest="${jardir}">
            <fileset dir="${zipdir}">
                <include name="*.zip"/>
                <exclude name="mq**.zip"/>
                <exclude name="derby**.zip"/>
            </fileset>
        </unzip>

        <unzip dest="${jardir}/javadb">
            <fileset dir="${zipdir}">
                <include name="derby**.zip"/>
            </fileset>
            <patternset>
                <include name="**/lib/**"/>
                <include name="**/bin/**"/>
            </patternset>
        </unzip>

        <mkdir dir="${rootdir}/temp" />
    </target>

    <target name="removeJarsNotNeeded">
        <delete verbose="true" failonerror="true">
            <fileset dir="${jardir}" includes="ant-**.jar" />
            <fileset dir="${jardir}" includes="weld-se-shaded**.jar" />
        </delete>
    </target>


    <target name="addDtds" unless="nucleus.distribution">
        <echo message="adding dtds"/>
        <jar jarfile="${jardir}/dtds.jar" basedir="${jardir}/glassfish/lib" includes="dtds/**/*"/>
        <jar jarfile="${jardir}/schemas.jar" basedir="${jardir}/glassfish/lib" includes="schemas/**/*"/>
        <jar jarfile="${jardir}/nucleus-dtds.jar" basedir="${jardir}/lib" includes="dtds/**/*"/>
        <jar jarfile="${jardir}/nucleus-schemas.jar" basedir="${jardir}/lib" includes="schemas/**/*"/>
    </target>

    <target name="rejar">
        <echo message="rejarring and processing metadata..."/>
        <taskdef name="rejar" classname="org.jvnet.maven.plugin.antrun.RejarTask" />

        <defaultexcludes add="META-INF/**.RSA"/>
        <defaultexcludes add="META-INF/**.inf"/>
        <defaultexcludes add="META-INF/**.SF"/>

        <rejar destfile="${finaljar}" duplicate="preserve" >
            <manifest>
                <attribute name="Bundle-SymbolicName" value="${bundlename}"/>
                <attribute name="Main-Class" value="com.sun.enterprise.glassfish.bootstrap.UberMain"/>
            </manifest>
            <zipgroupfileset dir="${jardir}" includes="**/*.jar"/>
            <fileset dir="${rootdir}/temp" includes="*.rar, *.war"/>
        </rejar>
    </target>


    <target name="addExtraRars" if="full.distribution">
        <echo message="Adding additional rars"/>

        <!-- Include property files i.e., glassfish6/mq/lib/props/broker/*.properties of mq.zip in jmsra.rar -->
        <unzip dest="${jardir}">
            <fileset dir="${zipdir}">
                <include name="mq**.zip"/>
            </fileset>
            <patternset>
                <include name="**/props/broker/**"/>
            </patternset>
        </unzip>
        <move file="${jardir}/mq/lib/props" tofile="${jardir}/glassfish/lib/install/applications/jmsra/props"/>
        <delete dir="${jardir}/mq"/>

        <jar jarfile="${jardir}/jmsra.rar" basedir="${jardir}/glassfish" includes="lib/install/applications/jmsra/**/*"/>

    </target>

    <target name="addRars" depends="addExtraRars" unless="nucleus.distribution">
        <echo message="adding rars"/>
        <jar jarfile="${jardir}/__cp_jdbc_ra.rar" basedir="${jardir}/glassfish" includes="lib/install/applications/__cp_jdbc_ra/**/*"/>
        <jar jarfile="${jardir}/__ds_jdbc_ra.rar" basedir="${jardir}/glassfish" includes="lib/install/applications/__ds_jdbc_ra/**/*"/>
        <jar jarfile="${jardir}/__dm_jdbc_ra.rar" basedir="${jardir}/glassfish" includes="lib/install/applications/__dm_jdbc_ra/**/*"/>
        <jar jarfile="${jardir}/__xa_jdbc_ra.rar" basedir="${jardir}/glassfish" includes="lib/install/applications/__xa_jdbc_ra/**/*"/>
        <copy todir="${rootdir}/temp">
            <fileset dir="${jardir}">
                <include name="*.rar"/>
            </fileset>
        </copy>
        <!--     <jar jarfile="${finaljar}" update="true" basedir="${jardir}" includes="__cp_jdbc_ra.rar, __ds_jdbc_ra.rar, __dm_jdbc_ra.rar, __xa_jdbc_ra.rar"/>  -->
    </target>

    <target name="addEjbTimer" if="full.distribution">
        <echo message="adding EJBTimer"/>
        <copy file="${jardir}/glassfish/lib/install/applications/ejb-timer-service-app.war" todir= "${rootdir}/temp"/>
        <!--
        <jar jarfile="${finaljar}" update="true"  basedir="${jardir}/glassfish6/glassfish/lib/install/applications" includes="ejb-timer-service-app.war"/>
-->
    </target>

</project>
