blob: f62af22fe563e21888bb0acb7fe732cfe44d6962 [file] [log] [blame]
<?xml version="1.0"?>
<!--
Copyright (c) 2008, 2010 IBM Corporation and others.
All rights reserved. This program and the accompanying materials
are made available under the terms of the Eclipse Public License v1.0
which accompanies this distribution, and is available at
http://www.eclipse.org/legal/epl-v10.html
Contributors:
IBM - Initial API and implementation
-->
<!--
Script for generating the RDT remote server packages. To be run with
PTP master build and not standalone.
-->
<project name="RDT Remote JARs" default="server.all" basedir=".">
<tstamp/>
<property name="serverBaseName" value="rdt-server"/>
<property name="serverJar" value="${basedir}/${serverBaseName}"/>
<property name="serverVersion" value="5.0.0"/>
<property name="stylesheet" value="${basedir}/jardesc.xsl"/>
<property name="downloads" value="${basedir}/downloads"/>
<property name="remoteServerTempDir" value="${basedir}/rdt-server"/>
<property name="platformTempDir" value="${basedir}/platform.temp"/>
<!-- PLATFORM VERSIONS MUST BE UPDATED FOR NEW PLATFORM VERSION -->
<property name="platformBaseUrl" value="http://download.eclipse.org/eclipse/downloads/drops"/>
<property name="platformVersion" value="R-3.6-201006080911"/>
<property name="platformBaseName" value="eclipse-platform-3.6"/>
<property name="icuBaseZip" value="com.ibm.icu.base-3.6.zip"/>
<property name="icuBaseJar" value="com.ibm.icu.base_4.2.1.v20100412.jar"/>
<property name="coreRuntimeVersion" value="3.6.0.v20100505"/>
<property name="coreRuntimeJar" value="org.eclipse.core.runtime_${coreRuntimeVersion}.jar"/>
<property name="equinoxVersion" value="3.6.0.v20100503"/>
<property name="equinoxJar" value="org.eclipse.equinox.common_${equinoxVersion}.jar"/>
<property name="filesystemVersion" value="1.3.0.v20100526-0737"/>
<property name="filesystemJar" value="org.eclipse.core.filesystem_${filesystemVersion}.jar"/>
<!-- CDT VERSIONS MUST BE UPDATED FOR NEW CDT VERSION -->
<property name="cdtVersion" value="201010220808"/>
<!-- CDT branch need to be added for PTP maintenance builds -->
<property name="cdtBranch" value=""/>
<property name="cdtCoreVersion" value="5.3.0.${cdtVersion}"/>
<property name="cdtCoreJar" value="org.eclipse.cdt.core_${cdtCoreVersion}.jar"/>
<property name="cdtCoreAIXVersion" value="aix_5.1.0.${cdtVersion}"/>
<property name="cdtCoreLinuxPPCVersion" value="linux.ppc_5.1.0.${cdtVersion}"/>
<property name="cdtCoreLinuxx86Version" value="linux.x86_5.2.0.${cdtVersion}"/>
<property name="cdtLRParserVersion" value="5.1.0.${cdtVersion}"/>
<property name="cdtLRParserJar" value="org.eclipse.cdt.core.lrparser_${cdtLRParserVersion}.jar"/>
<property name="cdtUPCParserVersion" value="5.1.0.${cdtVersion}"/>
<property name="cdtUPCParserJar" value="org.eclipse.cdt.core.parser.upc_${cdtUPCParserVersion}.jar"/>
<property name="cdtLRParserXLCVersion" value="1.0.0.${cdtVersion}"/>
<property name="cdtLRParserXLCJar" value="org.eclipse.cdt.core.lrparser.xlc_${cdtLRParserXLCVersion}.jar"/>
<property name="rdtXLCPropertiesPath" value="${basedir}/../org.eclipse.ptp.rdt.xlc/properties"/>
<property name="rdtXLCProperties" value="languages.properties"/>
<property name="lpgRuntimeVersion" value="1.1.0.v200803061910"/>
<property name="lpgRuntimeJar" value="net.sourceforge.lpg.lpgjavaruntime_${lpgRuntimeVersion}.jar"/>
<!-- RSE VERSIONS MUST BE UPDATED FOR NEW TM VERSION -->
<property name="rseBaseUrl" value="http://download.eclipse.org/dsdp/tm/downloads/drops"/>
<property name="rseVersion" value="R-3.2-201006071030"/>
<property name="dStoreBaseName" value="rseserver-3.2"/>
<property name="defaultJVMHeapSize" value="-Xms64m -Xmx128m -Xss2m"/>
<target name="fetch" depends="fetch.rse, fetch.icu" unless="nofetch"/>
<target name="server.all" depends="jar, fetch, unpack.platform, all.remote"/>
<target name="build.jars" depends="server.all"/>
<target name="gather.bin.parts" depends="server.all"/>
<target name="jar" depends="generate.build.scripts">
<ant antfile="${basedir}/build.cdtminer.xml">
<property name="basedir" value="${basedir}/.."/>
<property name="jarfile" value="${basedir}/cdtminer.jar"/>
</ant>
<ant antfile="${basedir}/build.cdtmodel.xml">
<property name="basedir" value="${basedir}/.."/>
<property name="jarfile" value="${basedir}/cdtmodel.jar"/>
</ant>
<ant antfile="${basedir}/build.cdtparser.xml">
<property name="basedir" value="${basedir}/.."/>
<property name="jarfile" value="${basedir}/cdtparser.jar"/>
</ant>
<ant antfile="${basedir}/build.stubs.xml">
<property name="basedir" value="${basedir}/.."/>
<property name="jarfile" value="${basedir}/stubs.jar"/>
</ant>
<ant antfile="${basedir}/build.lrparser.xml">
<property name="basedir" value="${basedir}/.."/>
<property name="jarfile" value="${basedir}/lrparser.jar"/>
</ant>
<ant antfile="${basedir}/build.upcparser.xml">
<property name="basedir" value="${basedir}/.."/>
<property name="jarfile" value="${basedir}/upcparser.jar"/>
</ant>
<ant antfile="${basedir}/build.xlcparser.xml">
<property name="basedir" value="${basedir}/.."/>
<property name="jarfile" value="${basedir}/xlcparser.jar"/>
</ant>
<ant antfile="${basedir}/build.spawner.xml">
<property name="basedir" value="${basedir}/.."/>
<property name="jarfile" value="${basedir}/spawner.jar"/>
</ant>
<antcall target="clean.except.jars"></antcall>
</target>
<target name="generate.build.scripts" depends="generate.file.lists">
<xslt style="${stylesheet}" in="${basedir}/cdtminer.files.xml" out="${basedir}/build.cdtminer.xml">
<param name="bindir" expression="@dot"/>
</xslt>
<xslt style="${stylesheet}" in="${basedir}/cdtmodel.files.xml" out="${basedir}/build.cdtmodel.xml">
<param name="bindir" expression="@dot"/>
</xslt>
<xslt style="${stylesheet}" in="${basedir}/cdtparser.files.xml" out="${basedir}/build.cdtparser.xml">
<param name="bindir" expression="@dot"/>
</xslt>
<xslt style="${stylesheet}" in="${basedir}/stubs.files.xml" out="${basedir}/build.stubs.xml">
<param name="bindir" expression="@dot"/>
</xslt>
<xslt style="${stylesheet}" in="${basedir}/lrparser.files.xml" out="${basedir}/build.lrparser.xml">
<param name="bindir" expression="@dot"/>
</xslt>
<xslt style="${stylesheet}" in="${basedir}/upcparser.files.xml" out="${basedir}/build.upcparser.xml">
<param name="bindir" expression="@dot"/>
</xslt>
<xslt style="${stylesheet}" in="${basedir}/xlcparser.files.xml" out="${basedir}/build.xlcparser.xml">
<param name="bindir" expression="@dot"/>
</xslt>
<xslt style="${stylesheet}" in="${basedir}/spawner.files.xml" out="${basedir}/build.spawner.xml">
<param name="bindir" expression="@dot"/>
</xslt>
</target>
<target name="compile.all">
<!--Compile rdt.core.remotejars and rdt.core.stubs-->
<mkdir dir="${basedir}/build"/>
<javac srcdir="src/org/eclipse/ptp/internal/rdt/core/jardesc"
destdir="${basedir}/build"
source="1.5"
target="1.5"
/>
<antcall target="unpack.platform"></antcall>
<mkdir dir="${basedir}/../org.eclipse.ptp.rdt.core.stubs/@dot"/>
<javac srcdir="${basedir}/../org.eclipse.ptp.rdt.core.stubs/src"
destdir="${basedir}/../org.eclipse.ptp.rdt.core.stubs/@dot"
classpath="${platformTempDir}/eclipse/plugins/${coreRuntimeJar}:${platformTempDir}/eclipse/plugins/${equinoxJar}:${platformTempDir}/eclipse/plugins/${filesystemJar}"
source="1.5"
target="1.5"
/>
</target>
<target name="get.cdt">
<!--Get cdt.core source from CVS-->
<cvs cvsroot=":pserver:anonymous@dev.eclipse.org:/cvsroot/tools"
package="org.eclipse.cdt/all/org.eclipse.cdt.core"
command="checkout -d org.eclipse.cdt.core${cdtBranch}"
dest="${basedir}/.."
/>
<!--Get cdt.core bin from PTP build-->
<unzip src="${basedir}/../../eclipse/plugins/${cdtCoreJar}"
dest="${basedir}/../org.eclipse.cdt.core/@dot"
/>
</target>
<target name="get.cdt.core.lrparser">
<!--Get cdt.core.lrparser source from CVS-->
<cvs cvsroot=":pserver:anonymous@dev.eclipse.org:/cvsroot/tools"
package="org.eclipse.cdt/lrparser/org.eclipse.cdt.core.lrparser"
command="checkout -d org.eclipse.cdt.core.lrparser"
dest="${basedir}/.."
/>
<!--Get cdt.core.lrparser bin from PTP build-->
<unzip src="${basedir}/../../eclipse/plugins/${cdtLRParserJar}"
dest="${basedir}/../org.eclipse.cdt.core.lrparser/@dot"
/>
</target>
<target name="get.cdt.core.parser.upc">
<!--Get cdt.core.parser.upc source from CVS-->
<cvs cvsroot=":pserver:anonymous@dev.eclipse.org:/cvsroot/tools"
package="org.eclipse.cdt/upc/org.eclipse.cdt.core.parser.upc"
command="checkout -d org.eclipse.cdt.core.parser.upc"
dest="${basedir}/.."
/>
<!--Get cdt.core.parser.upc bin from PTP build-->
<unzip src="${basedir}/../../eclipse/plugins/${cdtUPCParserJar}"
dest="${basedir}/../org.eclipse.cdt.core.parser.upc/@dot"
/>
</target>
<target name="get.cdt.core.lrparser.xlc">
<!--Get cdt.core.lrparser.xlc source from CVS-->
<cvs cvsroot=":pserver:anonymous@dev.eclipse.org:/cvsroot/tools"
package="org.eclipse.cdt/xlc/org.eclipse.cdt.core.lrparser.xlc"
command="checkout -d org.eclipse.cdt.core.lrparser.xlc"
dest="${basedir}/.."
/>
<!--Get cdt.core.lrparser.xlc bin from PTP build-->
<unzip src="${basedir}/../../eclipse/plugins/${cdtLRParserXLCJar}"
dest="${basedir}/../org.eclipse.cdt.core.lrparser.xlc/@dot"
/>
</target>
<target name="generate.file.lists" depends="compile.all, get.cdt, get.cdt.core.lrparser, get.cdt.core.parser.upc, get.cdt.core.lrparser.xlc">
<java
fork="true"
classname="org.eclipse.ptp.internal.rdt.core.jardesc.JarDescElementExtractor"
classpath="${basedir}/build">
<arg value="cdtminer.jardesc"/>
<arg value="cdtminer.files.xml"/>
<arg value=".."/>
</java>
<java
fork="true"
classname="org.eclipse.ptp.internal.rdt.core.jardesc.JarDescElementExtractor"
classpath="${basedir}/build">
<arg value="cdtmodel.jardesc"/>
<arg value="cdtmodel.files.xml"/>
<arg value=".."/>
</java>
<java
fork="true"
classname="org.eclipse.ptp.internal.rdt.core.jardesc.JarDescElementExtractor"
classpath="${basedir}/build">
<arg value="cdtparser.jardesc"/>
<arg value="cdtparser.files.xml"/>
<arg value=".."/>
</java>
<java
fork="true"
classname="org.eclipse.ptp.internal.rdt.core.jardesc.JarDescElementExtractor"
classpath="${basedir}/build">
<arg value="stubs.jardesc"/>
<arg value="stubs.files.xml"/>
<arg value=".."/>
</java>
<java
fork="true"
classname="org.eclipse.ptp.internal.rdt.core.jardesc.JarDescElementExtractor"
classpath="${basedir}/build">
<arg value="lrparser.jardesc"/>
<arg value="lrparser.files.xml"/>
<arg value=".."/>
</java>
<java
fork="true"
classname="org.eclipse.ptp.internal.rdt.core.jardesc.JarDescElementExtractor"
classpath="${basedir}/build">
<arg value="upcparser.jardesc"/>
<arg value="upcparser.files.xml"/>
<arg value=".."/>
</java>
<java
fork="true"
classname="org.eclipse.ptp.internal.rdt.core.jardesc.JarDescElementExtractor"
classpath="${basedir}/build">
<arg value="xlcparser.jardesc"/>
<arg value="xlcparser.files.xml"/>
<arg value=".."/>
</java>
<java
fork="true"
classname="org.eclipse.ptp.internal.rdt.core.jardesc.JarDescElementExtractor"
classpath="${basedir}/build">
<arg value="spawner.jardesc"/>
<arg value="spawner.files.xml"/>
<arg value=".."/>
</java>
</target>
<target name="clean" depends="clean.except.jars">
<delete dir="${basedir}" failonerror="false">
<include name="cdtminer.jar"/>
<include name="cdtmodel.jar"/>
<include name="cdtparser.jar"/>
<include name="stubs.jar"/>
<include name="lrparser.jar"/>
<include name="upcparser.jar"/>
<include name="xlcparser.jar"/>
<include name="spawner.jar"/>
<include name="${serverBaseName}-linux-*.tar"/>
<include name="${serverBaseName}-macosx-*.tar"/>
<include name="${serverBaseName}-unix-*.tar"/>
<include name="${serverBaseName}-windows-*.zip"/>
</delete>
</target>
<target name="clean.except.jars">
<delete dir="${basedir}" failonerror="false">
<include name="build.cdtminer.xml"/>
<include name="build.cdtmodel.xml"/>
<include name="build.cdtparser.xml"/>
<include name="build.stubs.xml"/>
<include name="build.lrparser.xml"/>
<include name="build.upcparser.xml"/>
<include name="build.xlcparser.xml"/>
<include name="build.spawner.xml"/>
<include name="cdtminer.files.xml"/>
<include name="cdtmodel.files.xml"/>
<include name="cdtparser.files.xml"/>
<include name="stubs.files.xml"/>
<include name="lrparser.files.xml"/>
<include name="upcparser.files.xml"/>
<include name="xlcparser.files.xml"/>
<include name="spawner.files.xml"/>
</delete>
<delete dir="${remoteServerTempDir}"/>
<delete dir="${platformTempDir}"/>
</target>
<target name="fetch.platform">
<mkdir dir="${downloads}"/>
<get src="${platformBaseUrl}/${platformVersion}/${platformBaseName}-win32.zip" dest="${downloads}/${platformBaseName}-win32.zip"/>
</target>
<target name="fetch.rse">
<mkdir dir="${downloads}"/>
<get src="${rseBaseUrl}/${rseVersion}/${dStoreBaseName}-windows.zip" dest="${downloads}/${dStoreBaseName}-windows.zip"/>
<get src="${rseBaseUrl}/${rseVersion}/${dStoreBaseName}-linux.tar" dest="${downloads}/${dStoreBaseName}-linux.tar"/>
<get src="${rseBaseUrl}/${rseVersion}/${dStoreBaseName}-unix.tar" dest="${downloads}/${dStoreBaseName}-unix.tar"/>
<get src="${rseBaseUrl}/${rseVersion}/${dStoreBaseName}-macosx.tar" dest="${downloads}/${dStoreBaseName}-macosx.tar"/>
</target>
<target name="fetch.icu">
<mkdir dir="${downloads}"/>
<get src="${platformBaseUrl}/${platformVersion}/${icuBaseZip}" dest="${downloads}/${icuBaseZip}"/>
<unzip src="${downloads}/${icuBaseZip}" dest="${downloads}"/>
<copy file="${downloads}/plugins/${icuBaseJar}" todir="${platformTempDir}/eclipse/plugins"/>
</target>
<target name="unpack.platform">
<!--Get platform jars from PTP build-->
<copy file="${basedir}/../../eclipse/plugins/${coreRuntimeJar}" todir="${platformTempDir}/eclipse/plugins"/>
<copy file="${basedir}/../../eclipse/plugins/${equinoxJar}" todir="${platformTempDir}/eclipse/plugins"/>
<copy file="${basedir}/../../eclipse/plugins/${filesystemJar}" todir="${platformTempDir}/eclipse/plugins"/>
</target>
<target name="prepare.remote.tar">
<property name="platform" value="linux"/>
<property name="jarplatform" value="linux"/>
<delete dir="${remoteServerTempDir}"/>
<untar src="${downloads}/${dStoreBaseName}-${jarplatform}.tar" dest="${remoteServerTempDir}"/>
<!-- Add CDTMiner to minerFile.dat -->
<concat destfile="${remoteServerTempDir}/minerFile.dat" append="true">org.eclipse.ptp.internal.rdt.core.miners.CDTMiner</concat>
<!-- Add SpawnerMiner to minerFile.dat -->
<concat destfile="${remoteServerTempDir}/minerFile.dat" append="true">org.eclipse.ptp.internal.remote.rse.core.miners.SpawnerMiner</concat>
<!-- Add RDT JARs to the server script's classpath and set shared libraries path for some platform -->
<antcall target="prepare.script.${platform}"/>
</target>
<target name="prepare.script.linux">
<property name="rdtClassPath" value="$plugins_dir/cdtminer.jar:$plugins_dir/cdtmodel.jar:$plugins_dir/cdtparser.jar:$plugins_dir/${coreRuntimeJar}:$plugins_dir/${equinoxJar}:$plugins_dir/${filesystemJar}:$plugins_dir/${icuBaseJar}:$plugins_dir/stubs.jar:$plugins_dir/lrparser.jar:$plugins_dir/upcparser.jar:$plugins_dir/xlcparser.jar:$plugins_dir/spawner.jar:$plugins_dir/${lpgRuntimeJar}"/>
<replace token=":$oldClasspath" value=":${rdtClassPath}:$oldClasspath" file="${remoteServerTempDir}/server.pl"/>
<replace token="java " value="java ${defaultJVMHeapSize} " file="${remoteServerTempDir}/server.pl"/>
<!-- update classpath in daemon.pl -->
<property name="orgClassPath" value="$ENV{CLASSPATH}=&quot;$plugins_dir:$plugins_dir/dstore_extra_server.jar:$plugins_dir/dstore_core.jar:$plugins_dir/dstore_miners.jar:$plugins_dir/clientserver.jar"/>
<replace token="${orgClassPath}" value="${orgClassPath}:${rdtClassPath}" file="${remoteServerTempDir}/daemon.pl"/>
<replace token="java " value="java ${defaultJVMHeapSize} " file="${remoteServerTempDir}/daemon.pl"/>
</target>
<target name="prepare.script.linux.ppc">
<property name="rdtClassPath" value="$plugins_dir/cdtminer.jar:$plugins_dir/cdtmodel.jar:$plugins_dir/cdtparser.jar:$plugins_dir/${coreRuntimeJar}:$plugins_dir/${equinoxJar}:$plugins_dir/${filesystemJar}:$plugins_dir/${icuBaseJar}:$plugins_dir/stubs.jar:$plugins_dir/lrparser.jar:$plugins_dir/upcparser.jar:$plugins_dir/xlcparser.jar:$plugins_dir/spawner.jar:$plugins_dir/${lpgRuntimeJar}"/>
<replace token=":$oldClasspath" value=":${rdtClassPath}:$oldClasspath" file="${remoteServerTempDir}/server.pl"/>
<replace token="java " value="java ${defaultJVMHeapSize} " file="${remoteServerTempDir}/server.pl"/>
<replace file="${remoteServerTempDir}/server.pl">
<replacetoken>$ENV{CLASSPATH}=$oldClasspath;</replacetoken>
<replacevalue>$ENV{CLASSPATH}=$oldClasspath;
$ENV{LD_LIBRARY_PATH}="$dir:$LD_LIBRARY_PATH";
</replacevalue>
</replace>
<!-- update classpath in daemon.pl -->
<property name="orgClassPath" value="$ENV{CLASSPATH}=&quot;$plugins_dir:$plugins_dir/dstore_extra_server.jar:$plugins_dir/dstore_core.jar:$plugins_dir/dstore_miners.jar:$plugins_dir/clientserver.jar"/>
<replace token="${orgClassPath}" value="${orgClassPath}:${rdtClassPath}" file="${remoteServerTempDir}/daemon.pl"/>
<replace token="java " value="java ${defaultJVMHeapSize} " file="${remoteServerTempDir}/daemon.pl"/>
<replace file="${remoteServerTempDir}/daemon.pl">
<replacetoken>if (defined ($oldClasspath))</replacetoken>
<replacevalue>$ENV{LD_LIBRARY_PATH}="$dir:$LD_LIBRARY_PATH";
if (defined ($oldClasspath))
</replacevalue>
</replace>
</target>
<target name="prepare.script.linux.x86">
<antcall target="prepare.script.linux.ppc"/>
</target>
<target name="prepare.script.unix">
<property name="rdtClassPath" value="cdtminer.jar:cdtmodel.jar:cdtparser.jar:${coreRuntimeJar}:${equinoxJar}:${filesystemJar}:${icuBaseJar}:stubs.jar:lrparser.jar:upcparser.jar:xlcparser.jar:spawner.jar:${lpgRuntimeJar}"/>
<replace token=":$CLASSPATH" value=":${rdtClassPath}:$CLASSPATH" file="${remoteServerTempDir}/server.sh"/>
<replace token="java " value="java ${defaultJVMHeapSize} " file="${remoteServerTempDir}/server.sh"/>
<!-- update classpath in daemon.pl -->
<property name="orgClassPath" value="$ENV{CLASSPATH}=&quot;$plugins_dir:$plugins_dir/dstore_extra_server.jar:$plugins_dir/dstore_core.jar:$plugins_dir/dstore_miners.jar:$plugins_dir/clientserver.jar"/>
<property name="rdtClassPathpl" value="$plugins_dir/cdtminer.jar:$plugins_dir/cdtmodel.jar:$plugins_dir/cdtparser.jar:$plugins_dir/${coreRuntimeJar}:$plugins_dir/${equinoxJar}:$plugins_dir/${filesystemJar}:$plugins_dir/${icuBaseJar}:$plugins_dir/stubs.jar:$plugins_dir/lrparser.jar:$plugins_dir/upcparser.jar:$plugins_dir/xlcparser.jar:$plugins_dir/spawner.jar:$plugins_dir/${lpgRuntimeJar}"/>
<replace token="${orgClassPath}" value="${orgClassPath}:${rdtClassPathpl}" file="${remoteServerTempDir}/daemon.pl"/>
<replace token="java " value="java ${defaultJVMHeapSize} " file="${remoteServerTempDir}/daemon.pl"/>
</target>
<target name="prepare.script.aix">
<property name="rdtClassPath" value="cdtminer.jar:cdtmodel.jar:cdtparser.jar:${coreRuntimeJar}:${equinoxJar}:${filesystemJar}:${icuBaseJar}:stubs.jar:lrparser.jar:upcparser.jar:xlcparser.jar:spawner.jar:${lpgRuntimeJar}"/>
<replace token=":$CLASSPATH" value=":${rdtClassPath}:$CLASSPATH" file="${remoteServerTempDir}/server.sh"/>
<replace token="java " value="java ${defaultJVMHeapSize} " file="${remoteServerTempDir}/server.sh"/>
<replace file="${remoteServerTempDir}/server.sh">
<replacetoken>export serverpath CLASSPATH</replacetoken>
<replacevalue>LIBPATH=$serverpath:$LIBPATH;
export serverpath CLASSPATH LIBPATH
</replacevalue>
</replace>
<!-- update classpath in daemon.pl -->
<property name="orgClassPath" value="$ENV{CLASSPATH}=&quot;$plugins_dir:$plugins_dir/dstore_extra_server.jar:$plugins_dir/dstore_core.jar:$plugins_dir/dstore_miners.jar:$plugins_dir/clientserver.jar"/>
<property name="rdtClassPathpl" value="$plugins_dir/cdtminer.jar:$plugins_dir/cdtmodel.jar:$plugins_dir/cdtparser.jar:$plugins_dir/${coreRuntimeJar}:$plugins_dir/${equinoxJar}:$plugins_dir/${filesystemJar}:$plugins_dir/${icuBaseJar}:$plugins_dir/stubs.jar:$plugins_dir/lrparser.jar:$plugins_dir/upcparser.jar:$plugins_dir/xlcparser.jar:$plugins_dir/spawner.jar:$plugins_dir/${lpgRuntimeJar}"/>
<replace token="${orgClassPath}" value="${orgClassPath}:${rdtClassPathpl}" file="${remoteServerTempDir}/daemon.pl"/>
<replace token="java " value="java ${defaultJVMHeapSize} " file="${remoteServerTempDir}/daemon.pl"/>
<replace file="${remoteServerTempDir}/daemon.pl">
<replacetoken>if (defined ($oldClasspath))</replacetoken>
<replacevalue>$ENV{LIBPATH}="$dir:$LIBPATH";
if (defined ($oldClasspath))
</replacevalue>
</replace>
</target>
<target name="prepare.script.macosx">
<property name="rdtClassPath" value="cdtminer.jar:cdtmodel.jar:cdtparser.jar:${coreRuntimeJar}:${equinoxJar}:${filesystemJar}:${icuBaseJar}:stubs.jar:lrparser.jar:upcparser.jar:xlcparser.jar:spawner.jar:${lpgRuntimeJar}"/>
<replace token=":$CLASSPATH" value=":${rdtClassPath}:$CLASSPATH" file="${remoteServerTempDir}/server.sh"/>
<replace token="java " value="java ${defaultJVMHeapSize} " file="${remoteServerTempDir}/server.sh"/>
<!-- update classpath in daemon.pl -->
<property name="orgClassPath" value="$classpath = &quot;$plugin_dir"/>
<property name="rdtClassPathpl" value="$plugins_dir/cdtminer.jar:$plugins_dir/cdtmodel.jar:$plugins_dir/cdtparser.jar:$plugins_dir/${coreRuntimeJar}:$plugins_dir/${equinoxJar}:$plugins_dir/${filesystemJar}:$plugins_dir/${icuBaseJar}:$plugins_dir/stubs.jar:$plugins_dir/lrparser.jar:$plugins_dir/upcparser.jar:$plugins_dir/xlcparser.jar:$plugins_dir/spawner.jar:$plugins_dir/${lpgRuntimeJar}"/>
<replace token="${orgClassPath}" value="${orgClassPath}:${rdtClassPathpl}" file="${remoteServerTempDir}/daemon.pl"/>
<replace token="java " value="java ${defaultJVMHeapSize} " file="${remoteServerTempDir}/daemon.pl"/>
</target>
<target name="prepare.remote.zip">
<property name="platform" value="windows"/>
<property name="jarplatform" value="windows"/>
<delete dir="${remoteServerTempDir}"/>
<unzip src="${downloads}/${dStoreBaseName}-${jarplatform}.zip" dest="${remoteServerTempDir}"/>
<!-- Add CDTMiner to minerFile.dat -->
<concat destfile="${remoteServerTempDir}/minerFile.dat" append="true">org.eclipse.ptp.internal.rdt.core.miners.CDTMiner</concat>
<!-- Add SpawnerMiner to minerFile.dat -->
<concat destfile="${remoteServerTempDir}/minerFile.dat" append="true">org.eclipse.ptp.internal.remote.rse.core.miners.SpawnerMiner</concat>
<!-- Add RDT JARs to the server script's classpath -->
<property name="rdtClassPath" value="%ECLIPSEDIR%\cdtminer.jar;%ECLIPSEDIR%\cdtmodel.jar;%ECLIPSEDIR%\cdtparser.jar;%ECLIPSEDIR%\${coreRuntimeJar};%ECLIPSEDIR%\${equinoxJar};%ECLIPSEDIR%\${filesystemJar};%ECLIPSEDIR%\${icuBaseJar};%ECLIPSEDIR%\stubs.jar;%ECLIPSEDIR%\lrparser.jar;%ECLIPSEDIR%\upcparser.jar;%ECLIPSEDIR%\xlcparser.jar;%ECLIPSEDIR%\spawner.jar;%ECLIPSEDIR%\${lpgRuntimeJar}"/>
<replace token=";%CLASSPATH%" value=";${rdtClassPath};%CLASSPATH%" file="${remoteServerTempDir}/setup.bat"/>
<replace token="java " value="java ${defaultJVMHeapSize} " file="${remoteServerTempDir}/server.bat"/>
<replace token="java " value="java ${defaultJVMHeapSize} " file="${remoteServerTempDir}/daemon.bat"/>
</target>
<target name="prepare.remote.jar">
<property name="platform" value="linux"/>
<property name="jarplatform" value="linux"/>
<delete dir="${remoteServerTempDir}"/>
<untar src="${downloads}/${dStoreBaseName}-${jarplatform}.tar" dest="${remoteServerTempDir}"/>
<!-- Add CDTMiner to minerFile.dat -->
<concat destfile="${remoteServerTempDir}/minerFile.dat" append="true">org.eclipse.ptp.internal.rdt.core.miners.CDTMiner</concat>
<!-- Add SpawnerMiner to minerFile.dat -->
<concat destfile="${remoteServerTempDir}/minerFile.dat" append="true">org.eclipse.ptp.internal.remote.rse.core.miners.SpawnerMiner</concat>
<!-- Add the Jar-in-jar loader to the server -->
<unzip dest="${downloads}">
<fileset dir="${basedir}/../../eclipse/plugins">
<include name="org.eclipse.jdt.ui_*.jar"/>
</fileset>
<patternset>
<include name="jar-in-jar-loader.zip"/>
</patternset>
</unzip>
<unzip src="${downloads}/jar-in-jar-loader.zip" dest="${remoteServerTempDir}"/>
</target>
<target name="assemble.remote">
<property name="platform" value="linux"/>
<!-- Copy over the RDT JARs and their dependencies -->
<copy todir="${remoteServerTempDir}" >
<fileset dir="${basedir}">
<include name="cdtminer.jar"/>
<include name="cdtmodel.jar"/>
<include name="cdtparser.jar"/>
<include name="stubs.jar"/>
<include name="lrparser.jar"/>
<include name="upcparser.jar"/>
<include name="xlcparser.jar"/>
<include name="spawner.jar"/>
</fileset>
</copy>
<copy file="${rdtXLCPropertiesPath}/${rdtXLCProperties}" todir="${remoteServerTempDir}"/>
<copy file="${basedir}/../../eclipse/plugins/${lpgRuntimeJar}" todir="${remoteServerTempDir}"/>
<copy todir="${remoteServerTempDir}">
<fileset dir="${platformTempDir}/eclipse/plugins">
<include name="${coreRuntimeJar}"/>
<include name="${filesystemJar}"/>
<include name="${equinoxJar}"/>
<include name="${icuBaseJar}"/>
</fileset>
</copy>
<touch file="${remoteServerTempDir}/rdtserver_version.dat"/>
<concat destfile="${remoteServerTempDir}/rdtserver_version.dat">${serverVersion}-${timestamp}</concat>
<!--Add libspawner.so for specific platforms-->
<antcall target="add.so.${platform}"/>
</target>
<target name="add.so.aix">
<unzip src="${basedir}/../../eclipse/plugins/org.eclipse.cdt.core.${cdtCoreAIXVersion}.jar"
dest="${basedir}/../org.eclipse.cdt.core.aix"
/>
<copy file="${basedir}/../org.eclipse.cdt.core.aix/os/aix/ppc/libspawner.so" todir="${remoteServerTempDir}"/>
</target>
<target name="add.so.linux.ppc">
<unzip src="${basedir}/../../eclipse/plugins/org.eclipse.cdt.core.${cdtCoreLinuxPPCVersion}.jar"
dest="${basedir}/../org.eclipse.cdt.core.linux.ppc"
/>
<copy file="${basedir}/../org.eclipse.cdt.core.linux.ppc/os/linux/ppc/libspawner.so" todir="${remoteServerTempDir}"/>
</target>
<target name="add.so.linux.x86">
<unzip src="${basedir}/../../eclipse/plugins/org.eclipse.cdt.core.${cdtCoreLinuxx86Version}.jar"
dest="${basedir}/../org.eclipse.cdt.core.linux.x86"
/>
<copy file="${basedir}/../org.eclipse.cdt.core.linux.x86/os/linux/x86/libspawner.so" todir="${remoteServerTempDir}"/>
</target>
<target name="add.so.unix">
</target>
<target name="add.so.linux">
</target>
<target name="add.so.macosx">
</target>
<target name="add.so.windows">
</target>
<target name="tar.remote" depends="prepare.remote.tar, assemble.remote">
<property name="platform" value="linux"/>
<property name="jarplatform" value="linux"/>
<tar destfile="${serverJar}-${platform}-${serverVersion}.tar">
<fileset dir="${basedir}">
<include name="rdt-server/**/*"/>
</fileset>
</tar>
<copy file="${serverJar}-${platform}-${serverVersion}.tar"
todir="${copyToDir}"/>
<delete dir="${remoteServerTempDir}"/>
</target>
<target name="zip.remote" depends="prepare.remote.zip, assemble.remote">
<property name="platform" value="windows"/>
<property name="jarplatform" value="windows"/>
<zip destfile="${serverJar}-${platform}-${serverVersion}.zip">
<fileset dir="${basedir}">
<include name="rdt-server/**/*"/>
</fileset>
</zip>
<copy file="${serverJar}-${platform}-${serverVersion}.zip"
todir="${copyToDir}"/>
<delete dir="${remoteServerTempDir}"/>
</target>
<target name="jar.remote" depends="prepare.remote.jar, assemble.remote">
<jar destfile="${serverJar}.jar" basedir="${basedir}/rdt-server">
<manifest>
<attribute name="Rsrc-Class-Path" value="./ dstore_extra_server.jar dstore_core.jar dstore_miners.jar clientserver.jar cdtminer.jar cdtmodel.jar cdtparser.jar ${coreRuntimeJar} ${equinoxJar} ${filesystemJar} ${icuBaseJar} stubs.jar lrparser.jar upcparser.jar xlcparser.jar spawner.jar ${lpgRuntimeJar}"/>
<attribute name="Class-Path" value="."/>
<attribute name="Rsrc-Main-Class" value="org.eclipse.dstore.core.server.Server"/>
<attribute name="Main-Class" value="org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader"/>
</manifest>
</jar>
<copy file="${serverJar}.jar"
todir="${basedir}/../org.eclipse.ptp.rdt.server.dstore"/>
<delete dir="${remoteServerTempDir}"/>
</target>
<target name="all.remote">
<antcall target="zip.remote"/>
<antcall target="tar.remote">
<param name="platform" value="linux"/>
<param name="jarplatform" value="linux"/>
</antcall>
<antcall target="tar.remote">
<param name="platform" value="unix"/>
<param name="jarplatform" value="unix"/>
</antcall>
<antcall target="tar.remote">
<param name="platform" value="macosx"/>
<param name="jarplatform" value="macosx"/>
</antcall>
<antcall target="tar.remote">
<param name="platform" value="aix"/>
<param name="jarplatform" value="unix"/>
</antcall>
<antcall target="tar.remote">
<param name="platform" value="linux.ppc"/>
<param name="jarplatform" value="linux"/>
</antcall>
<antcall target="tar.remote">
<param name="platform" value="linux.x86"/>
<param name="jarplatform" value="linux"/>
</antcall>
<antcall target="jar.remote"/>
</target>
</project>