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