<?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>
	<delete file="${modulesdir}/autostart/osgi-cdi.jar" failonerror="false"/>
     </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>
