blob: dba2e134a3d4686d37ae69ba645935de1ed851cc [file] [log] [blame]
<?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 v3, app client library fix-up" default="fixup.library" basedir=".">
<property name="mq.dir.path" value="../../mq"/>
<property name="mq.lib" value="${mq.dir.path}/lib"/>
<property name="jmsra.apps.dir" value="../lib/install/applications/jmsra"/>
<property name="mq.classpath.additions" value="${mq.lib}/imq.jar ${mq.lib}/imqadmin.jar ${mq.lib}/imqutil.jar ${mq.lib}/fscontext.jar ${jmsra.apps.dir}/imqjmsra.jar"/>
<property name="ds-jdbcra.classpath.additions" value="../lib/install/applications/__ds_jdbc_ra/__ds_jdbc_ra.jar"/>
<property name="cp-jdbcra.classpath.additions" value="../lib/install/applications/__cp_jdbc_ra/__cp_jdbc_ra.jar"/>
<property name="xa-jdbcra.classpath.additions" value="../lib/install/applications/__xa_jdbc_ra/__xa_jdbc_ra.jar"/>
<property name="dm-jdbcra.classpath.additions" value="../lib/install/applications/__dm_jdbc_ra/__dm_jdbc_ra.jar"/>
<property name="derby.jar.classpath.additions" value="../../javadb/lib/derby.jar ../../javadb/lib/derbyclient.jar ../../javadb/lib/derbynet.jar ../../javadb/lib/derbytools.jar ../../javadb/lib/derbyrun.jar"/>
<property name="jaxr-ra.classpath.additions" value="../lib/install/applications/jaxr-ra/jaxr-ra.jar"/>
<property name="resources-runtime.classpath.additions" value="../modules/resources-runtime.jar"/>
<property name="mail-connector.classpath.additions" value="../modules/mail-connector.jar"/>
<property name="mail-runtime.classpath.additions" value="../modules/mail-runtime.jar"/>
<property name="jdbc-runtime.classpath.additions" value="../modules/jdbc-runtime.jar"/>
<property name="jdbc-config.classpath.additions" value="../modules/jdbc-config.jar"/>
<property name="aix.additions" value="../modules/aixporting-repackaged.jar"/>
<property name="entitybean-container.additions" value="../modules/entitybean-container.jar"/>
<property name="weld.classpath.additions" value="../modules/weld-osgi-bundle.jar"/>
<property name="classpath.additions" value=" ${resources-runtime.classpath.additions} ${mail-connector.classpath.additions} ${mail-runtime.classpath.additions} ${mq.classpath.additions} ${ds-jdbcra.classpath.additions} ${cp-jdbcra.classpath.additions} ${xa-jdbcra.classpath.additions} ${dm-jdbcra.classpath.additions} ${derby.jar.classpath.additions} ${jaxr-ra.classpath.additions} ${entitybean-container.additions} ${jdbc-runtime.classpath.additions} ${jdbc-config.classpath.additions} ${weld.classpath.additions}"/>
<property name="classpath.conditional.additions" value="${aix.additions}"/>
<target name="fixup.library">
<unzip src="${output.dir}/${output.file}" dest="${stage.dir}">
<patternset>
<include name="META-INF/MANIFEST.MF"/>
</patternset>
</unzip>
<replace file="${classpath.file}">
<!-- replace the colons used as path separators with blanks -->
<replacefilter token=":" value=" "/>
<!-- replace incorrect entries ../modules/x.jar for JARs that will actually reside in the
endorsed subdirectory with ../modules/endorsed/x.jar -->
<replacefilter token="../modules/jakarta.annotation-api.jar" value="../modules/endorsed/jakarta.annotation-api.jar"/>
<replacefilter token="../modules/jakarta.xml.bind-api.jar" value="../modules/endorsed/jakarta.xml.bind-api.jar"/>
<replacefilter token="../modules/webservices-api-osgi.jar" value="../modules/endorsed/webservices-api-osgi.jar"/>
<replacefilter token="../modules/weld-se-shaded.jar" value="../lib/appclient/weld-se-shaded.jar"/>
<!--
The jakarta.mail JAR will reference activation.jar, because it is
built to work with Java SE 1.4 and later. Prior to Java SE 6
activation was separate from the Java SE libraries and so
mail must refer to it explicitly. But GlassFish requires
Java SE 6 and there will be no activation.jar.
So remove it so jar indexing (which would help
optimize Java Web Start) will not fail due to a missing JAR.
-->
<!--
As of Jakarta Mail 2.0 and Jakarta EE 9, Jakarta Mail
references jakarta.activation.jar, which is NOT included
in Java SE, but IS included in GlassFish, so we don't
need to remove it here.
&lt;replacefilter token=" ../modules/activation.jar" value=""/&gt;>
-->
</replace>
<!-- define the classpath property -->
<property file="${classpath.file}"/>
<!--
Entries in zip (and JAR) files have two-second timestamp resolution. The
next sleep makes sure that the time stamp on the updated manifest
file will later than the original manifest's time + two seconds;
this make sure the zip task will actually replace the manifest
in the JAR file.
Also, the manifest task seems not to update the timestamp on the
manifest file, so we need to explicitly touch it after updating
the manifest.
-->
<sleep seconds="5"/>
<manifest mode="update" file="${stage.dir}/META-INF/MANIFEST.MF">
<attribute name="Class-Path" value="${classpath} ${classpath.additions} ${classpath.conditional.additions}"/>
<attribute name="GlassFish-Conditional-Additions" value="${classpath.conditional.additions}"/>
</manifest>
<touch file="${stage.dir}/META-INF/MANIFEST.MF"/>
<!-- Update the JAR file with the revised manifest -->
<zip destfile="${output.dir}/${output.file}" basedir="${stage.dir}" update="true" includes="META-INF/MANIFEST.MF"/>
<echo>Manifest Class-Path updated</echo>
</target>
</project>