1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-01 14:15:23 +02:00

Updating build to use stock build.xml and genericTargets.xml from org.eclipse.pde.build.

This commit is contained in:
David Dykstal 2006-05-04 20:54:28 +00:00
parent 1d52f6868f
commit a994bf6631
8 changed files with 590 additions and 207 deletions

View file

@ -1,4 +1,15 @@
milestone=
release=1.0${milestone}
archivePrefix=eclipse
buildId=1.0M1
buildLabel=S-1.0M1-20060427-1500
collectingFolder=COLLECTOR
collectingFolder=${archivePrefix}
buildType=P
buildId=unknown
buildLabel=${buildType}-${release}-${buildId}
mapVersionTag=HEAD
#this is set to the tag from the map file unless forced here
#forceContextQualifier=vYYYYMMDD
#adds checksum suffix to directory names
#generateFeatureVersionSuffix=true

View file

@ -6,25 +6,54 @@
require "ftools"
def ask(question, default)
message = "#{question} (default is #{default})"
STDERR.print message
answer = readline()
answer = answer.strip.empty? ? default : answer
return answer
end
# "eclipse" is the location of the basic PDE and plugins to compile against
# "builder" is the location of the build scripts (i.e. the contents of org.eclipse.rse.build)
# "working" is where the build is actually done, does not need to exist
# This should include the org.eclipse.pde.build project
eclipse = "c:/work/targets/OpenRSE-1.0/eclipse"
builder = "."
# "builder" is the location of the custom build scripts customTargets.xml and build.properties
# (i.e. the contents of org.eclipse.rse.build)
builder = File.expand_path(".") # needs to be an absolute path
# "working" is where the build is actually done, does not need to exist
working = "c:/temp/build"
# Find the base build scripts
candidates = Dir["#{eclipse}/plugins/org.eclipse.pde.build*"]
if (candidates.size == 0) then
raise("PDE Build was not found.")
end
if (candidates.size > 1) then
raise("Too many versions of PDE Build were found.")
end
baseBuilder = candidates[0]
buildDirectory = "#{working}/build"
packageDirectory = "#{working}/package"
publishDirectory = "#{working}/publish"
tag = ask("Enter tag to fetch from CVS", "HEAD")
buildType = ask("Enter build type (N=Nightly, I=Integration, M=Milestone)", "N")
buildId = ask("Enter the build id", Time.now.strftime("%Y%m%d-%H%M"))
command = "java -cp #{eclipse}/startup.jar org.eclipse.core.launcher.Main "
command += "-application org.eclipse.ant.core.antRunner "
command += "-buildfile #{builder}/build.xml "
command += "-DbuildDirectory=#{working}/build "
command += "-DpackageDirectory=#{working}/package "
command += "-DpublishDirectory=#{working}/publish "
command += "-buildfile #{baseBuilder}/scripts/build.xml "
command += "-DbuildDirectory=#{buildDirectory} "
command += "-DpackageDirectory=#{packageDirectory} "
command += "-DpublishDirectory=#{publishDirectory} "
command += "-Dbuilder=#{builder} "
command += "-DbaseLocation=#{eclipse} "
command += "-Dbld_do_extract=yes "
command += "-Dbld_do_build=yes "
command += "-Dbld_do_package=yes "
command += "-Dbld_do_publish=yes "
command += "-DbuildType=#{buildType} "
command += "-DbuildId=#{buildId} "
command += "-DmapVersionTag=#{tag} "
puts(command)

View file

@ -1,145 +1,126 @@
<project name="Build All Elements" default="main">
<!-- ===================================================================== -->
<!-- Custom settings -->
<!-- ===================================================================== -->
<property name="head" value="${baseLocation}\..\..\packagehome" />
<property name="configs" value="*,*,*" />
<path id="path_bootclasspath">
<fileset dir="${java.home}/lib">
<include name="*.jar" />
</fileset>
</path>
<property name="bootclasspath" refid="path_bootclasspath" />
<tstamp>
<format property="today" pattern="E" locale="en" />
<format property="timestamp" pattern="yyyyMMdd" locale="en" />
</tstamp>
<!-- ===================================================================== -->
<!-- Global properties. See the build.properties for information on -->
<!-- the properties which callers can control. -->
<!-- ===================================================================== -->
<property name="builder" location="${user.dir}"/>
<property name="builderDirectory" location="${builder}"/>
<property name="buildProperties" location="${builder}/build.properties"/>
<property file="${buildProperties}"/>
<available property="customTargets" file="${builder}/customTargets.xml" value="${builder}/customTargets.xml"/>
<property name="customTargets" location="${eclipse.pdebuild.templates}/headless-build/customTargets.xml"/>
<property name="genericTargets" location="${eclipse.pdebuild.scripts}/genericTargets.xml"/>
<!-- ===================================================================== -->
<!-- main entry point to setup, fetch, generate, build etc. Use -->
<!-- the customTargets.xml to modify the build behaviour. -->
<!-- ===================================================================== -->
<!-- ===================================================================== -->
<!-- Global properties. See the build.properties for information on -->
<!-- the properties which callers can control. -->
<!-- ===================================================================== -->
<property name="builderDirectory" location="${builder}" />
<property name="buildProperties" location="${builder}/build.properties" />
<property name="customTargets" location="${builderDirectory}/customTargets.xml" />
<property name="genericTargets" location="${builderDirectory}/genericTargets.xml" />
<property name="packageDirectory" location="%{packageDirectory}" />
<property name="publishDirectory" location="%{publishDirectory}" />
<property file="${buildProperties}" />
<!-- ******* add in the descriptions for each of the top level targets to teh target decl -->
<target name="main" description="the main build target">
<antcall target="preBuild" />
<antcall target="fetch" />
<antcall target="generate" />
<antcall target="process" />
<antcall target="assemble" />
<antcall target="package" />
<antcall target="postBuild" />
</target>
<condition property="doExtract" value="true">
<equals arg1="${bld_do_extract}" arg2="yes" />
</condition>
<condition property="doBuild" value="true">
<equals arg1="${bld_do_build}" arg2="yes" />
</condition>
<condition property="doPackage" value="true">
<equals arg1="${bld_do_package}" arg2="yes" />
</condition>
<condition property="doPublish" value="true">
<equals arg1="${bld_do_publish}" arg2="yes" />
</condition>
<!-- ===================================================================== -->
<!-- Steps to do before starting the build. Typical setup includes -->
<!-- fetching the map files and building the directory. -->
<!-- ===================================================================== -->
<target name="preBuild">
<mkdir dir="${buildDirectory}" />
<ant antfile="${customTargets}" target="preSetup" />
<ant antfile="${customTargets}" target="getMapFiles" />
<concat destfile="${buildDirectory}/directory.txt" fixlastline="yes">
<fileset dir="${buildDirectory}" includes="maps/**/*.map"/>
</concat>
<ant antfile="${customTargets}" target="postSetup" />
</target>
<!-- ===================================================================== -->
<!-- main entry point to setup, fetch, generate, build etc. Use -->
<!-- the customTargets.xml to modify the build behaviour. -->
<!-- ===================================================================== -->
<!-- ******* add in the descriptions for each of the top level targets to the target decl -->
<target name="main" description="the main build target">
<antcall target="preBuild" />
<antcall target="fetch" />
<antcall target="generate" />
<antcall target="process" />
<antcall target="assemble" />
<antcall target="postBuild" />
</target>
<!-- ===================================================================== -->
<!-- Steps to do before starting the build. Typical setup includes -->
<!-- fetching the map files and building the directory. -->
<!-- ===================================================================== -->
<target name="preBuild" if="doExtract">
<echo message="Preparing to extract..." />
<mkdir dir="${buildDirectory}" />
<ant antfile="${customTargets}" target="preSetup" />
<ant antfile="${customTargets}" target="getMapFiles" />
<concat destfile="${buildDirectory}/directory.txt" fixlastline="yes">
<fileset dir="${buildDirectory}" includes="maps/**/*.map" />
</concat>
<ant antfile="${customTargets}" target="postSetup" />
</target>
<!-- ===================================================================== -->
<!-- Fetch the elements identified in the customTargets -->
<!-- ===================================================================== -->
<!-- Fetch the elements identified in the customTargets -->
<!-- ===================================================================== -->
<target name="fetch" unless="skipFetch">
<ant antfile="${customTargets}" target="preFetch"/>
<!-- Generates and then execute the fetch scripts for each build element-->
<!-- ===================================================================== -->
<target name="fetch" if="doExtract">
<echo message="Extracting..." />
<ant antfile="${customTargets}" target="preFetch" />
<ant antfile="${customTargets}" target="allElements">
<property name="target" value="fetchElement" />
</ant>
<ant antfile="${customTargets}" target="allElements">
<property name="target" value="fetchElement" />
</ant>
<ant antfile="${customTargets}" target="postFetch"/>
</target>
<ant antfile="${customTargets}" target="postFetch" />
</target>
<!-- ===================================================================== -->
<!-- Generate the build scripts for each element identified in the customTargets -->
<!-- ===================================================================== -->
<target name="generate">
<ant antfile="${customTargets}" target="preGenerate"/>
<!-- Generate the build.xml for each build element-->
<ant antfile="${customTargets}" target="allElements">
<property name="target" value="generateScript" />
</ant>
<ant antfile="${customTargets}" target="postGenerate"/>
</target>
<!-- ===================================================================== -->
<!-- Generate the build scripts for each element identified in the customTargets -->
<!-- ===================================================================== -->
<target name="generate" if="doBuild">
<echo message="Generating build scripts..." />
<ant antfile="${customTargets}" target="preGenerate" />
<ant antfile="${customTargets}" target="allElements">
<property name="target" value="generateScript" />
</ant>
<ant antfile="${customTargets}" target="postGenerate" />
</target>
<!-- ===================================================================== -->
<!-- Run the build scripts for each element identified in the customTargets -->
<!-- ===================================================================== -->
<target name="process">
<!-- Run custom tasks before processing, i.e. creating source build zip files -->
<ant antfile="${customTargets}" target="preProcess" />
<!-- ===================================================================== -->
<!-- Run the build scripts for each element identified in the customTargets -->
<!-- 1) Run custom tasks before processing, i.e. creating source build zip files -->
<!-- 2) Process all of the build elements-->
<!-- 3) Run custom tasks after compiling, i.e. reporting compile errors -->
<!-- ===================================================================== -->
<target name="process" if="doBuild">
<echo message="Building..." />
<ant antfile="${customTargets}" target="preProcess" />
<ant antfile="${customTargets}" target="allElements">
<property name="target" value="processElement" />
</ant>
<ant antfile="${customTargets}" target="postProcess" />
</target>
<!-- Process all of the build elements-->
<ant antfile="${customTargets}" target="allElements">
<property name="target" value="processElement" />
</ant>
<!-- ===================================================================== -->
<!-- Assemble the build elements into final distributions -->
<!-- ===================================================================== -->
<target name="assemble" if="doPackage">
<echo message="Assembling..." />
<ant antfile="${customTargets}" target="preAssemble" />
<ant antfile="${customTargets}" target="allElements">
<property name="target" value="assembleElement" />
</ant>
<ant antfile="${customTargets}" target="postAssemble" />
</target>
<!-- Run custom tasks after compiling, i.e. reporting compile errors -->
<ant antfile="${customTargets}" target="postProcess" />
</target>
<!-- ===================================================================== -->
<!-- Do any steps required after the build (e.g., posting, testing, ...) -->
<!-- ===================================================================== -->
<target name="postBuild" if="doPackage">
<echo message="Packaging..." />
<ant antfile="${customTargets}" target="postBuild" />
</target>
<!-- ===================================================================== -->
<!-- Assemble the build elements into final distributions -->
<!-- ===================================================================== -->
<target name="assemble">
<ant antfile="${customTargets}" target="preAssemble"/>
<ant antfile="${customTargets}" target="allElements">
<property name="target" value="assembleElement"/>
</ant>
<ant antfile="${customTargets}" target="postAssemble"/>
</target>
<!-- ===================================================================== -->
<!-- Clean the build elements. This target is here as an entry -->
<!-- point to the customTargets. It is not called directly in the normal -->
<!-- course of events. -->
<!-- ===================================================================== -->
<target name="clean">
<ant antfile="${customTargets}" target="allElements">
<property name="target" value="cleanElement" />
</ant>
</target>
<!-- ===================================================================== -->
<!-- Package the build elements into final distributions -->
<!-- ===================================================================== -->
<target name="package" if="runPackager">
<ant antfile="${customTargets}" target="prePackage"/>
<ant antfile="${customTargets}" target="allElements">
<property name="target" value="packageElement"/>
</ant>
<ant antfile="${customTargets}" target="postPackage"/>
</target>
</project>
<!-- ===================================================================== -->
<!-- Do any steps required after the build (e.g., posting, testing, ...) -->
<!-- ===================================================================== -->
<target name="postBuild">
<ant antfile="${customTargets}" target="postBuild" />
</target>
<!-- ===================================================================== -->
<!-- Clean the build elements. This target is here as an entry -->
<!-- point to the customTargets. It is not called directly in the normal -->
<!-- course of events. -->
<!-- ===================================================================== -->
<target name="clean">
<ant antfile="${customTargets}" target="allElements">
<property name="target" value="cleanElement"/>
</ant>
</target>
</project>

View file

@ -5,6 +5,10 @@
<!-- Add on <ant> task for each top level element being built. -->
<!-- ===================================================================== -->
<target name="allElements">
<ant antfile="${genericTargets}" target="${target}">
<property name="type" value="feature" />
<property name="id" value="org.eclipse.rse.sdk" />
</ant>
<ant antfile="${genericTargets}" target="${target}">
<property name="type" value="feature" />
<property name="id" value="org.eclipse.rse.core" />
@ -30,6 +34,10 @@
<!-- Add one target for each root element and each configuration -->
<!-- ===================================================================== -->
<target name="assemble.org.eclipse.rse.sdk">
<ant antfile="${assembleScriptName}" dir="${buildDirectory}"/>
</target>
<target name="assemble.org.eclipse.rse.core">
<ant antfile="${assembleScriptName}" dir="${buildDirectory}"/>
</target>
@ -60,9 +68,19 @@
dest="${buildDirectory}/maps"
tag="${mapVersionTag}"
/>
-->
<copy todir="${buildDirectory}/maps">
<fileset dir="." includes="*.map" />
<fileset dir="${builder}" includes="*.map" />
</copy>
-->
<property name="cvsRoot" value=":pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp" />
<cvs cvsRoot="${cvsRoot}"
package="org.eclipse.tm.rse/releng/org.eclipse.rse.build"
dest="${buildDirectory}/releng"
tag="${mapVersionTag}"
/>
<copy todir="${buildDirectory}/maps">
<mapper type="flatten"/>
<fileset dir="${buildDirectory}/releng" includes="**/*.map"/>
</copy>
</target>
@ -70,6 +88,17 @@
<!-- Steps to do before setup -->
<!-- ===================================================================== -->
<target name="preSetup">
<echo message="builder = ${builder}"/>
<echo message="builderDirectory = ${builderDirectory}"/>
<echo message="buildProperties = ${buildProperties}"/>
<echo message="customTargets = ${customTargets}"/>
<echo message="genericTargets = ${genericTargets}"/>
<echo message="buildId = ${buildId}"/>
<echo message="buildName = ${buildName}"/>
<echo message="buildType = ${buildType}"/>
<echo message="buildLabel = ${buildLabel}"/>
<echo message="archivePrefix = ${archivePrefix}"/>
<echo message="collectingFolder = ${collectingFolder}"/>
</target>
<!-- ===================================================================== -->
@ -128,6 +157,9 @@
<!-- Steps to do before running the build.xmls for the elements being built. -->
<!-- ===================================================================== -->
<target name="preProcess">
<replace dir="${buildDirectory}/plugins" value="${buildId}" token="@build@">
<include name="**/about.mappings" />
</replace>
</target>
<!-- ===================================================================== -->
@ -161,19 +193,6 @@
<!-- Steps to do after the build is done. -->
<!-- ===================================================================== -->
<target name="postBuild">
<property name="packageSDKDirectory" location="${packageDirectory}/sdk" />
<property name="packageRuntimeDirectory" location="${packageDirectory}/runtime" />
<mkdir dir="${packageDirectory}" />
<mkdir dir="${packageRuntimeDirectory}" />
<mkdir dir="${packageSDKDirectory}" />
<unzip src="${buildDirectory}/${buildLabel}/org.eclipse.rse.core-${buildId}.zip" dest="${packageSDKDirectory}" />
<unzip src="${buildDirectory}/${buildLabel}/org.eclipse.rse.dstore-${buildId}.zip" dest="${packageSDKDirectory}" />
<unzip src="${buildDirectory}/${buildLabel}/org.eclipse.rse.ftp-${buildId}.zip" dest="${packageSDKDirectory}" />
<unzip src="${buildDirectory}/${buildLabel}/org.eclipse.rse.local-${buildId}.zip" dest="${packageSDKDirectory}" />
<zip destfile="${packageDirectory}/RSE-SDK-${buildId}.zip" basedir="${packageSDKDirectory}" />
<tar destfile="${packageDirectory}/RSE-SDK-${buildId}.tar" basedir="${packageSDKDirectory}" />
<delete dir="$packageSDKDirectory}" />
<delete dir="$packageRuntimeDirectory}" />
</target>
<!-- ===================================================================== -->
@ -205,7 +224,7 @@
<target name="serverruntime">
<property name="working" value="${packageDirectory}/rseserver"/>
<property name="working" value="${buildDirectory}/${buildLabel}/rseserver"/>
<mkdir dir="${working}" />
<mkdir dir="${working}/jars" />
@ -252,6 +271,10 @@
<copy todir="${working}/collector">
<fileset dir="${working}/data" includes="*"/>
</copy>
<replace file="${working}/collector/build.dat">
<replacefilter token="@build@" value="${buildId}"/>
<replacefilter token="@version@" value="${mapVersionTag}"/>
</replace>
<fixcrlf srcdir="${working}/collector" eol="${eol}" eof="asis" includes="*"/>
<copy todir="${working}/collector">
<fileset dir="${working}/jars" includes="*"/>
@ -259,8 +282,8 @@
<chmod perm="+x">
<fileset dir="${working}/collector" includes="*.jar"/>
</chmod>
<tar destfile="${packageDirectory}\rseserver-${buildId}-${os}.tar" basedir="${working}/collector" includes="*"/>
<zip destfile="${packageDirectory}\rseserver-${buildId}-${os}.zip" basedir="${working}/collector" includes="*"/>
<tar destfile="${buildDirectory}/${buildLabel}/rseserver-${buildId}-${os}.tar" basedir="${working}/collector" includes="*"/>
<zip destfile="${buildDirectory}/${buildLabel}/rseserver-${buildId}-${os}.zip" basedir="${working}/collector" includes="*"/>
<delete dir="${working}/collector" />
</target>
@ -300,5 +323,27 @@
</fileset>
</zip>
</target>
<target name="oldpostbuild">
<mkdir dir="${packageDirectory}" />
<property name="packageRuntimeDirectory" location="${packageDirectory}/runtime" />
<mkdir dir="${packageRuntimeDirectory}" />
<unzip src="${buildDirectory}/${buildLabel}/org.eclipse.rse.core-${buildId}.zip" dest="${packageRuntimeDirectory}" />
<unzip src="${buildDirectory}/${buildLabel}/org.eclipse.rse.dstore-${buildId}.zip" dest="${packageRuntimeDirectory}" />
<unzip src="${buildDirectory}/${buildLabel}/org.eclipse.rse.ftp-${buildId}.zip" dest="${packageRuntimeDirectory}" />
<unzip src="${buildDirectory}/${buildLabel}/org.eclipse.rse.local-${buildId}.zip" dest="${packageRuntimeDirectory}" />
<zip destfile="${packageDirectory}/RSE-runtime-${buildId}.zip" basedir="${packageRuntimeDirectory}" />
<tar destfile="${packageDirectory}/RSE-runtime-${buildId}.tar" basedir="${packageRuntimeDirectory}" />
<delete dir="$packageRuntimeDirectory}" />
<property name="packageSDKDirectory" location="${packageDirectory}/sdk" />
<mkdir dir="${packageSDKDirectory}" />
<unzip src="${buildDirectory}/${buildLabel}/org.eclipse.rse.sdk-${buildId}.zip" dest="${packageSDKDirectory}" />
<zip destfile="${packageDirectory}/RSE-SDK-${buildId}.zip" basedir="${packageSDKDirectory}" />
<tar destfile="${packageDirectory}/RSE-SDK-${buildId}.tar" basedir="${packageSDKDirectory}" />
<delete dir="$packageSDKDirectory}" />
</target>
</project>

View file

@ -18,6 +18,13 @@
<property name="configs" value="*,*,*"/>
<property name="fetchTag" value=""/>
<property name="buildingOSGi" value="true"/>
<property name="generateJnlp" value="false"/>
<property name="signJars" value="false"/>
<property name="generateFeatureVersionSuffix" value="false" />
<property name="generateVersionsLists" value="true" />
<property name="groupConfigurations" value="false"/>
<property name="pluginPath" value=""/>
<!-- ===================================================================== -->
<!-- Fetch a single element (feature, plugin, fragment) -->
<!-- ===================================================================== -->
@ -30,16 +37,15 @@
directory="${buildDirectory}/directory.txt"
fetchTag="${fetchTag}"
configInfo="${configs}"
baseLocation="${baseLocation}"
/>
<!-- Run generated fetch script -->
<echo message="featuresRecursively is :${featuresRecursively}"/>
<ant antfile="${buildDirectory}/fetch_${id}.xml">
<!-- ************ should not have to spec these *************** -->
<property name="featureOnly" value="true"/>
<property name="featureAndPlugins" value="true"/>
<property name="featuresRecursively" value="true"/>
</ant>
</target>
@ -55,14 +61,22 @@
<!-- Generate a build.xml file for an element -->
<!-- ===================================================================== -->
<target name="generateScript" description="Generating build scripts..." depends="init">
<echo message="eclipse.buildScript ${type}@${id} buildDirectory=${buildDirectory} buildingOSGi=${buildingOSGi} baseLocation=${baseLocation} " />
<eclipse.buildScript
elements="${type}@${id}"
<eclipse.buildScript
elements="${type}@${id}"
buildDirectory="${buildDirectory}"
configInfo="${configs}"
baseLocation="${baseLocation}"
buildingOSGi="${buildingOSGi}"
archivesFormat="${archivesFormat}"
outputUpdateJars="${outputUpdateJars}"
archivesFormat="${archivesFormat}"
product="${product}"
forceContextQualifier="${forceContextQualifier}"
generateJnlp="${generateJnlp}"
signJars="${signJars}"
generateFeatureVersionSuffix="${generateFeatureVersionSuffix}"
generateVersionsLists="${generateVersionsLists}"
groupConfiguration="${groupConfigurations}"
pluginPath="${pluginPath}"
/>
</target>
@ -73,20 +87,16 @@
<ant antfile="build.xml" dir="${elementPath}" target="build.jars">
<property name="target" value="build.jars"/>
</ant>
<ant antfile="build.xml" dir="${elementPath}" target="build.sources">
<property name="os" value="${os}" />
<property name="ws" value="${ws}" />
</ant>
</target>
<!-- **********************
1) the gather targets do more than just gather. These are packaging targets.
We need to continue to separate the two concepts (gather and package) as
We need to continue ot separate the two concepts (gather and package) as
the packaging is different if we wanted to create an update site packaging
(for example). The gathers are commented out for now as the new generated
scripts do not seem to have them.
2) do we really need the ws and os properties? In all cases? Do they have to be
2) do we really need the ws and os properties? In all cases? Do they have to be
set here?
-->
@ -105,6 +115,11 @@ set here?
<!-- Gather source for a build element -->
<!-- ===================================================================== -->
<target name="gatherSources" description="Gathering source distribution..." depends="init">
<!--suspect: this call is required to create the *.src.zip inside each plugin-->
<ant antfile="build.xml" dir="${elementPath}" target="build.sources">
<property name="os" value="${os}" />
<property name="ws" value="${ws}" />
</ant>
<ant antfile="build.xml" dir="${elementPath}" target="zip.sources">
<property name="os" value="${os}" />
<property name="ws" value="${ws}" />
@ -135,6 +150,13 @@ set here?
<ant antfile="assemble.${id}.all.xml" dir="${buildDirectory}"/>
</target>
<!-- ===================================================================== -->
<!-- Package one build element -->
<!-- ===================================================================== -->
<target name="packageElement" description="Packaging the build..." depends="init">
<ant antfile="package.${id}.all.xml" dir="${buildDirectory}"/>
</target>
<!-- ===================================================================== -->
<!-- Miscellaneous helper targets -->
<!-- ===================================================================== -->
@ -145,4 +167,4 @@ set here?
<property name="elementPath" value="${buildDirectory}/${type}s/${id}" />
</target>
</project>
</project>

View file

@ -0,0 +1,145 @@
<project name="Build All Elements" default="main">
<!-- ===================================================================== -->
<!-- Custom settings -->
<!-- ===================================================================== -->
<property name="head" value="${baseLocation}\..\..\packagehome" />
<property name="configs" value="*,*,*" />
<path id="path_bootclasspath">
<fileset dir="${java.home}/lib">
<include name="*.jar" />
</fileset>
</path>
<property name="bootclasspath" refid="path_bootclasspath" />
<tstamp>
<format property="today" pattern="E" locale="en" />
<format property="timestamp" pattern="yyyyMMdd" locale="en" />
</tstamp>
<!-- ===================================================================== -->
<!-- Global properties. See the build.properties for information on -->
<!-- the properties which callers can control. -->
<!-- ===================================================================== -->
<property name="builderDirectory" location="${builder}" />
<property name="buildProperties" location="${builder}/build.properties" />
<property name="customTargets" location="${builderDirectory}/customTargets.xml" />
<property name="genericTargets" location="${builderDirectory}/genericTargets.xml" />
<property name="packageDirectory" location="%{packageDirectory}" />
<property name="publishDirectory" location="%{publishDirectory}" />
<property file="${buildProperties}" />
<condition property="doExtract" value="true">
<equals arg1="${bld_do_extract}" arg2="yes" />
</condition>
<condition property="doBuild" value="true">
<equals arg1="${bld_do_build}" arg2="yes" />
</condition>
<condition property="doPackage" value="true">
<equals arg1="${bld_do_package}" arg2="yes" />
</condition>
<condition property="doPublish" value="true">
<equals arg1="${bld_do_publish}" arg2="yes" />
</condition>
<!-- ===================================================================== -->
<!-- main entry point to setup, fetch, generate, build etc. Use -->
<!-- the customTargets.xml to modify the build behaviour. -->
<!-- ===================================================================== -->
<!-- ******* add in the descriptions for each of the top level targets to the target decl -->
<target name="main" description="the main build target">
<antcall target="preBuild" />
<antcall target="fetch" />
<antcall target="generate" />
<antcall target="process" />
<antcall target="assemble" />
<antcall target="postBuild" />
</target>
<!-- ===================================================================== -->
<!-- Steps to do before starting the build. Typical setup includes -->
<!-- fetching the map files and building the directory. -->
<!-- ===================================================================== -->
<target name="preBuild" if="doExtract">
<echo message="Preparing to extract..." />
<mkdir dir="${buildDirectory}" />
<ant antfile="${customTargets}" target="preSetup" />
<ant antfile="${customTargets}" target="getMapFiles" />
<concat destfile="${buildDirectory}/directory.txt" fixlastline="yes">
<fileset dir="${buildDirectory}" includes="maps/**/*.map" />
</concat>
<ant antfile="${customTargets}" target="postSetup" />
</target>
<!-- ===================================================================== -->
<!-- Fetch the elements identified in the customTargets -->
<!-- Generates and then execute the fetch scripts for each build element-->
<!-- ===================================================================== -->
<target name="fetch" if="doExtract">
<echo message="Extracting..." />
<ant antfile="${customTargets}" target="preFetch" />
<ant antfile="${customTargets}" target="allElements">
<property name="target" value="fetchElement" />
</ant>
<ant antfile="${customTargets}" target="postFetch" />
</target>
<!-- ===================================================================== -->
<!-- Generate the build scripts for each element identified in the customTargets -->
<!-- ===================================================================== -->
<target name="generate" if="doBuild">
<echo message="Generating build scripts..." />
<ant antfile="${customTargets}" target="preGenerate" />
<ant antfile="${customTargets}" target="allElements">
<property name="target" value="generateScript" />
</ant>
<ant antfile="${customTargets}" target="postGenerate" />
</target>
<!-- ===================================================================== -->
<!-- Run the build scripts for each element identified in the customTargets -->
<!-- 1) Run custom tasks before processing, i.e. creating source build zip files -->
<!-- 2) Process all of the build elements-->
<!-- 3) Run custom tasks after compiling, i.e. reporting compile errors -->
<!-- ===================================================================== -->
<target name="process" if="doBuild">
<echo message="Building..." />
<ant antfile="${customTargets}" target="preProcess" />
<ant antfile="${customTargets}" target="allElements">
<property name="target" value="processElement" />
</ant>
<ant antfile="${customTargets}" target="postProcess" />
</target>
<!-- ===================================================================== -->
<!-- Assemble the build elements into final distributions -->
<!-- ===================================================================== -->
<target name="assemble" if="doPackage">
<echo message="Assembling..." />
<ant antfile="${customTargets}" target="preAssemble" />
<ant antfile="${customTargets}" target="allElements">
<property name="target" value="assembleElement" />
</ant>
<ant antfile="${customTargets}" target="postAssemble" />
</target>
<!-- ===================================================================== -->
<!-- Do any steps required after the build (e.g., posting, testing, ...) -->
<!-- ===================================================================== -->
<target name="postBuild" if="doPackage">
<echo message="Packaging..." />
<ant antfile="${customTargets}" target="postBuild" />
</target>
<!-- ===================================================================== -->
<!-- Clean the build elements. This target is here as an entry -->
<!-- point to the customTargets. It is not called directly in the normal -->
<!-- course of events. -->
<!-- ===================================================================== -->
<target name="clean">
<ant antfile="${customTargets}" target="allElements">
<property name="target" value="cleanElement" />
</ant>
</target>
</project>

View file

@ -0,0 +1,148 @@
<project name="Generic Build Targets" default="noDefault">
<!-- Properties that must be passed to this script:
buildDirectory
id
type
ignoreTagInfo
recursiveGeneration
workingDirectory
configInfo
-->
<!-- ===================================================================== -->
<!-- Setup default values -->
<!-- configs : by default build a platform-independent configuration -->
<!-- fetchTag : by default use the CVS tags as spec'd in directory.txt -->
<!-- ===================================================================== -->
<property name="configs" value="*,*,*"/>
<property name="fetchTag" value=""/>
<property name="buildingOSGi" value="true"/>
<!-- ===================================================================== -->
<!-- Fetch a single element (feature, plugin, fragment) -->
<!-- ===================================================================== -->
<target name="fetchElement" description="Checking out source from repository..." depends="init">
<mkdir dir="${buildDirectory}/features"/>
<mkdir dir="${buildDirectory}/plugins"/>
<eclipse.fetch
elements="${type}@${id}"
buildDirectory="${buildDirectory}"
directory="${buildDirectory}/directory.txt"
fetchTag="${fetchTag}"
configInfo="${configs}"
/>
<!-- Run generated fetch script -->
<echo message="featuresRecursively is :${featuresRecursively}"/>
<ant antfile="${buildDirectory}/fetch_${id}.xml">
<!-- ************ should not have to spec these *************** -->
<property name="featureOnly" value="true"/>
<property name="featureAndPlugins" value="true"/>
</ant>
</target>
<!-- ===================================================================== -->
<!-- Clean previously built elements -->
<!-- ===================================================================== -->
<target name="cleanElement" description="Scrubbing features and plugins of old jars..." depends="init">
<echo message="${elementPath}"/>
<ant antfile="build.xml" dir="${elementPath}" target="clean"/>
</target>
<!-- ===================================================================== -->
<!-- Generate a build.xml file for an element -->
<!-- ===================================================================== -->
<target name="generateScript" description="Generating build scripts..." depends="init">
<echo message="eclipse.buildScript ${type}@${id} buildDirectory=${buildDirectory} buildingOSGi=${buildingOSGi} baseLocation=${baseLocation} " />
<eclipse.buildScript
elements="${type}@${id}"
buildDirectory="${buildDirectory}"
configInfo="${configs}"
baseLocation="${baseLocation}"
buildingOSGi="${buildingOSGi}"
archivesFormat="${archivesFormat}"
/>
</target>
<!-- ===================================================================== -->
<!-- Run build.xml for a single element-->
<!-- ===================================================================== -->
<target name="processElement" description="Processing build scripts..." depends="init">
<ant antfile="build.xml" dir="${elementPath}" target="build.jars">
<property name="target" value="build.jars"/>
</ant>
<ant antfile="build.xml" dir="${elementPath}" target="build.sources">
<property name="os" value="${os}" />
<property name="ws" value="${ws}" />
</ant>
</target>
<!-- **********************
1) the gather targets do more than just gather. These are packaging targets.
We need to continue to separate the two concepts (gather and package) as
the packaging is different if we wanted to create an update site packaging
(for example). The gathers are commented out for now as the new generated
scripts do not seem to have them.
2) do we really need the ws and os properties? In all cases? Do they have to be
set here?
-->
<!-- ===================================================================== -->
<!-- Gather items listed in bin.includes -->
<!-- ===================================================================== -->
<target name="gatherBinaries" description="Gathering binary distribution..." depends="init">
<!-- ant antfile="build.xml" dir="${elementPath}" target="gather.bin.parts"/ -->
<ant antfile="build.xml" dir="${elementPath}" target="zip.distribution">
<property name="os" value="${os}" />
<property name="ws" value="${ws}" />
</ant>
</target>
<!-- ===================================================================== -->
<!-- Gather source for a build element -->
<!-- ===================================================================== -->
<target name="gatherSources" description="Gathering source distribution..." depends="init">
<ant antfile="build.xml" dir="${elementPath}" target="zip.sources">
<property name="os" value="${os}" />
<property name="ws" value="${ws}" />
</ant>
</target>
<!-- ===================================================================== -->
<!-- Gather log files for an element -->
<!-- Suspect: We just unzip these right away -->
<!-- ===================================================================== -->
<target name="gatherLogs" description="Gathering build logs..." depends="init">
<ant antfile="build.xml" dir="${elementPath}" target="zip.logs" >
<property name="buildDirectory" value="${buildDirectory}" />
</ant>
</target>
<!-- ===================================================================== -->
<!-- Default target -->
<!-- ===================================================================== -->
<target name="noDefault">
<echo message="This file must be called with explicit targets" />
</target>
<!-- ===================================================================== -->
<!-- Assemble one build element -->
<!-- ===================================================================== -->
<target name="assembleElement" description="Assembling the build..." depends="init">
<ant antfile="assemble.${id}.all.xml" dir="${buildDirectory}"/>
</target>
<!-- ===================================================================== -->
<!-- Miscellaneous helper targets -->
<!-- ===================================================================== -->
<target name="init">
<condition property="elementPath" value="${buildDirectory}/plugins/${id}">
<equals arg1="${type}" arg2="fragment" />
</condition>
<property name="elementPath" value="${buildDirectory}/${type}s/${id}" />
</target>
</project>

View file

@ -1,29 +1,31 @@
feature@org.eclipse.rse.core=v20060427,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/features/org.eclipse.rse.core-feature
feature@org.eclipse.rse.dstore=v20060427,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/features/org.eclipse.rse.dstore-feature
feature@org.eclipse.rse.ftp=v20060427,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/features/org.eclipse.rse.ftp-feature
feature@org.eclipse.rse.local=v20060427,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/features/org.eclipse.rse.local-feature
plugin@org.eclipse.dstore.core=v20060427,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.dstore.core
plugin@org.eclipse.dstore.extra=v20060427,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.dstore.extra
plugin@org.eclipse.rse.connectorservice.dstore=v20060427,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.connectorservice.dstore
plugin@org.eclipse.rse.connectorservice.local=v20060427,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.connectorservice.local
plugin@org.eclipse.rse.core=v20060427,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.core
plugin@org.eclipse.rse.dstore.security=v20060427,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.dstore.security
plugin@org.eclipse.rse.files.ui=v20060427,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.files.ui
plugin@org.eclipse.rse.logging=v20060427,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.logging
plugin@org.eclipse.rse.processes.ui=v20060427,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.processes.ui
plugin@org.eclipse.rse.services.dstore=v20060427,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.services.dstore
plugin@org.eclipse.rse.services.files.ftp=v20060427,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.services.files.ftp
plugin@org.eclipse.rse.services.local=v20060427,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.services.local
plugin@org.eclipse.rse.services=v20060427,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.services
plugin@org.eclipse.rse.shells.ui=v20060427,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.shells.ui
plugin@org.eclipse.rse.subsystems.files.core=v20060427,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.subsystems.files.core
plugin@org.eclipse.rse.subsystems.files.dstore=v20060427,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.subsystems.files.dstore
plugin@org.eclipse.rse.subsystems.files.ftp=v20060427,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.subsystems.files.ftp
plugin@org.eclipse.rse.subsystems.files.local=v20060427,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.subsystems.files.local
plugin@org.eclipse.rse.subsystems.processes.core=v20060427,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.subsystems.processes.core
plugin@org.eclipse.rse.subsystems.processes.dstore=v20060427,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.subsystems.processes.dstore
plugin@org.eclipse.rse.subsystems.processes.local=v20060427,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.subsystems.processes.local
plugin@org.eclipse.rse.subsystems.shells.core=v20060427,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.subsystems.shells.core
plugin@org.eclipse.rse.subsystems.shells.dstore=v20060427,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.subsystems.shells.dstore
plugin@org.eclipse.rse.subsystems.shells.local=v20060427,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.subsystems.shells.local
plugin@org.eclipse.rse.ui=v20060427,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.ui
feature@org.eclipse.rse.sdk=HEAD,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/features/org.eclipse.rse.sdk-feature
feature@org.eclipse.rse.core=HEAD,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/features/org.eclipse.rse.core-feature
feature@org.eclipse.rse.dstore=HEAD,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/features/org.eclipse.rse.dstore-feature
feature@org.eclipse.rse.ftp=HEAD,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/features/org.eclipse.rse.ftp-feature
feature@org.eclipse.rse.local=HEAD,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/features/org.eclipse.rse.local-feature
plugin@org.eclipse.dstore.core=HEAD,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.dstore.core
plugin@org.eclipse.dstore.extra=HEAD,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.dstore.extra
plugin@org.eclipse.rse.connectorservice.dstore=HEAD,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.connectorservice.dstore
plugin@org.eclipse.rse.connectorservice.local=HEAD,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.connectorservice.local
plugin@org.eclipse.rse.core=HEAD,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.core
plugin@org.eclipse.rse.dstore.security=HEAD,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.dstore.security
plugin@org.eclipse.rse.files.ui=HEAD,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.files.ui
plugin@org.eclipse.rse.logging=HEAD,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.logging
plugin@org.eclipse.rse.processes.ui=HEAD,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.processes.ui
plugin@org.eclipse.rse.sdk=HEAD,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.sdk
plugin@org.eclipse.rse.services.dstore=HEAD,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.services.dstore
plugin@org.eclipse.rse.services.files.ftp=HEAD,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.services.files.ftp
plugin@org.eclipse.rse.services.local=HEAD,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.services.local
plugin@org.eclipse.rse.services=HEAD,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.services
plugin@org.eclipse.rse.shells.ui=HEAD,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.shells.ui
plugin@org.eclipse.rse.subsystems.files.core=HEAD,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.subsystems.files.core
plugin@org.eclipse.rse.subsystems.files.dstore=HEAD,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.subsystems.files.dstore
plugin@org.eclipse.rse.subsystems.files.ftp=HEAD,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.subsystems.files.ftp
plugin@org.eclipse.rse.subsystems.files.local=HEAD,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.subsystems.files.local
plugin@org.eclipse.rse.subsystems.processes.core=HEAD,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.subsystems.processes.core
plugin@org.eclipse.rse.subsystems.processes.dstore=HEAD,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.subsystems.processes.dstore
plugin@org.eclipse.rse.subsystems.processes.local=HEAD,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.subsystems.processes.local
plugin@org.eclipse.rse.subsystems.shells.core=HEAD,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.subsystems.shells.core
plugin@org.eclipse.rse.subsystems.shells.dstore=HEAD,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.subsystems.shells.dstore
plugin@org.eclipse.rse.subsystems.shells.local=HEAD,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.subsystems.shells.local
plugin@org.eclipse.rse.ui=HEAD,:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.rse/plugins/org.eclipse.rse.ui