1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-08-15 04:05:38 +02:00

New release engineering scripts

This commit is contained in:
Doug Schaefer 2004-03-08 18:41:52 +00:00
parent 802ae0312e
commit 581c730a73
8 changed files with 488 additions and 33 deletions

View file

@ -0,0 +1,3 @@
eclipse-SDK.zip
results
workspace

View file

@ -6,8 +6,4 @@ export PATH=$JAVA_HOME/bin:$PATH
cd `dirname $0`
rm -fr results
java -cp eclipse/startup.jar org.eclipse.core.launcher.Main -application org.eclipse.ant.core.antRunner $* \
-DbaseLocation=$PWD/eclipse \
-DbuildDirectory=$PWD/results
java -cp ../../startup.jar org.eclipse.core.launcher.Main -application org.eclipse.ant.core.antRunner $*

View file

@ -1,25 +1,30 @@
<project default="build">
<project default="zips">
<target name="build" depends="zips,test"/>
<target name="fullbuild" depends="build,updateSite"/>
<!--taskdef name="ftp" classname="org.apache.tools.ant.taskdefs.optional.net.FTP"/-->
<target name="build" depends="zips,test,updateSite"/>
<target name="nightly" depends="build,upload,mail"/>
<target name="init">
<tstamp/>
<touch file="${user.home}/.cvspass" />
<tstamp/>
<property name="timestamp" value="${DSTAMP}${TSTAMP}" />
<property name="pde.build.scripts" value="../../plugins/org.eclipse.pde.build_3.0.0/scripts" />
<property name="eclipseZip" value="../../eclipse-SDK.zip"/>
<property name="buildDirectory" value="${basedir}/results" />
<property name="baseLocation" value="${buildDirectory}/eclipse"/>
<property name="pde.build.scripts" value="${baseLocation}/plugins/org.eclipse.pde.build_3.0.0/scripts" />
<property name="eclipseZip" value="eclipse-SDK.zip"/>
<property name="testZip" value="../org.eclipse.test/org.eclipse.test_2.1.0.zip"/>
<property name="buildDirectory" value="results" />
<property name="bootclasspath" value="${java.home}/lib/rt.jar" />
<property name="rt" value="${java.home}/lib/rt.jar" />
<property name="buildType" value="I" />
<property name="buildId" value="${buildType}${timestamp}"/>
<property name="siteurl" value="http://update.eclipse.org/tools/cdt/updates/builds/2.0"/>
<property name="remotedir" value="/home/www/tools/cdt/updates/builds/2.0"/>
<property name="zipsdir" value="${buildDirectory}/${buildType}.${buildId}"/>
<property name="sitedir" value="${buildDirectory}/build.site"/>
<property name="siteversion" value="2.0.0"/>
</target>
<target name="zips" depends="init">
<unzip src="${eclipseZip}" dest="${basedir}"/>
<unzip src="${eclipseZip}" dest="${buildDirectory}"/>
<ant antfile="build.xml" dir="${pde.build.scripts}">
<property name="builder" value="${basedir}/platform" />
</ant>
@ -29,14 +34,30 @@
</target>
<target name="test" depends="init">
<delete dir="${buildDirectory}/tests"/>
<ant antfile="build.xml" dir="${pde.build.scripts}">
<property name="builder" value="${basedir}/testing" />
</ant>
<!-- This depends on what platform we run the test, it would be
nice to figure this out on the fly -->
<unzip src="${zipsdir}/org.eclipse.cdt-${buildId}-linux.gtk.x86.zip" dest="${buildDirectory}"/>
<unzip src="${zipsdir}/org.eclipse.cdt.make-${buildId}.zip" dest="${buildDirectory}"/>
<unzip src="${zipsdir}/org.eclipse.cdt.managedbuilder-${buildId}.zip" dest="${buildDirectory}"/>
<unzip src="${zipsdir}/org.eclipse.cdt.testing-${buildId}.zip" dest="${buildDirectory}"/>
<copy todir="${buildDirectory}/eclipse/plugins/org.eclipse.test">
<fileset dir="../org.eclipse.test"/>
</copy>
<copy todir="${buildDirectory}/eclipse/plugins/org.eclipse.ant.optional.junit">
<fileset dir="../org.eclipse.ant.optional.junit"/>
</copy>
<ant antfile="test.xml" dir="${buildDirectory}/eclipse/plugins/org.eclipse.cdt.testing_${siteversion}">
<property name="eclipse-home" value="${buildDirectory}/eclipse"/>
</ant>
<xslt style="${buildDirectory}/eclipse/plugins/org.eclipse.test/JUNIT.XSL"
in="${buildDirectory}/eclipse/org.eclipse.cdt.testing.xml"
out="${sitedir}/logs/${siteversion}.${timestamp}.html"/>
</target>
<target name="updateSite" depends="init">
<property name="siteurl" value="http://update.eclipse.org/tools/cdt/updates/builds/2.0"/>
<property name="zipsdir" value="${buildDirectory}/${buildType}.${buildId}"/>
<property name="sitedir" value="${zipsdir}/build.site"/>
<property name="siteversion" value="2.0.0"/>
<mkdir dir="${sitedir}"/>
<unzip src="${zipsdir}/org.eclipse.cdt-${buildId}-aix.motif.ppc.zip" dest="${sitedir}"/>
<unzip src="${zipsdir}/org.eclipse.cdt-${buildId}-linux.gtk.x86.zip" dest="${sitedir}"/>
@ -46,33 +67,45 @@
<unzip src="${zipsdir}/org.eclipse.cdt-${buildId}-win32.win32.x86.zip" dest="${sitedir}"/>
<unzip src="${zipsdir}/org.eclipse.cdt.make-${buildId}.zip" dest="${sitedir}"/>
<unzip src="${zipsdir}/org.eclipse.cdt.managedbuilder-${buildId}.zip" dest="${sitedir}"/>
<antcall target="allElements">
<param name="target" value="updateVersions"/>
</antcall>
<antcall target="allElements">
<param name="target" value="updateJars"/>
</antcall>
<delete dir="${sitedir}/eclipse"/>
<get src="${siteurl}/site.xml" dest="${sitedir}/site.xml"/>
<get src="${siteurl}/index.html" dest="${sitedir}/site.xml"/>
<xslt style="site.xsl" in="${siteurl}/site.xml" out="x">
<xslt style="site.xsl" in="${sitedir}/site.xml" out="x">
<param name="version" expression="${siteversion}.${timestamp}"/>
</xslt>
<move file="x" tofile="${siteurl}/site.xml"/>
<move file="x" tofile="${sitedir}/site.xml"/>
<xslt style="index.xsl" in="${sitedir}/site.xml" out="${sitedir}/index.html"/>
<copy todir="${sitedir}/zips/${buildId}">
<fileset dir="${zipsdir}"/>
</copy>
</target>
<target name="updateVersions">
<target name="updateJars">
<xslt style="plugin.xsl" in="${sitedir}/eclipse/${dir}/${id}_${siteversion}/${type}.xml" out="x">
<param name="version" expression="${siteversion}.${timestamp}"/>
</xslt>
<move file="x" tofile="${sitedir}/eclipse/${dir}/${id}_${siteversion}/${type}.xml"/>
</target>
<target name="updateJars">
<mkdir dir="${sitedir}/${dir}"/>
<jar basedir="${sitedir}/eclipse/${dir}/${id}_${siteversion}"
destfile="${sitedir}/${dir}/${id}_${siteversion}.${timestamp}.jar"/>
</target>
<target name="upload" depends="init">
<ftp server="update.eclipse.org" userid="${cdtuser}" password="${cdtpasswd}"
remotedir="${remotedir}" action="put" verbose="yes">
<fileset dir="${sitedir}"/>
</ftp>
</target>
<target name="mail" depends="init">
<mail subject="CDT Build ${siteversion}.${timestamp} completed"
tolist="cdt-test-dev@eclipse.org" from="dschaefe@ca.ibm.com">
<message src="message.txt"/>
</mail>
</target>
<target name="allElements">
<antcall target="${target}">
<param name="type" value="feature"/>

View file

@ -0,0 +1,198 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="yes"/>
<xsl:template match="/">
<html>
<head>
<title>CDT 2.0 Build Page</title>
</head>
<body>
<h2>CDT 2.0 Build Page</h2>
<p>
The nightly builds are currently run every weeknight
To get download and install the builds, add the following
as a site bookmark in Eclipse's Update Manager perspective:
</p>
<p>
http://update.eclipse.org/tools/cdt/updates/builds/2.0
</p>
<p>
There is one category for each build. Expanding the
category will reveal the installable features.
Currently the following features are available.
You must install the main CDT feature as well as one
or both of the builder features.
</p>
<h3>Builds</h3>
<p>
The reports from the automated build verification test suites
are linked below.
</p>
<ul>
<xsl:apply-templates select="site/category-def"/>
</ul>
</body>
</html>
</xsl:template>
<xsl:template match="category-def">
<li>
<xsl:value-of select="@label"/>
<ul>
<xsl:if test="string-length(@label) &gt; 30">
<li>
<a>
<xsl:attribute name="href">
<xsl:text>logs/</xsl:text>
<xsl:value-of select="substring-after(@label,'CDT Build ')"/>
<xsl:text>/org.eclipse.cdt.core.tests.xml</xsl:text>
</xsl:attribute>
org.eclipse.cdt.core.tests
</a>
</li>
</xsl:if>
<xsl:if test="string-length(@label) &lt; 30">
<li>
<a>
<xsl:attribute name="href">
<xsl:text>logs/</xsl:text>
<xsl:value-of select="substring-after(@label,'CDT Build ')"/>
<xsl:text>.html</xsl:text>
</xsl:attribute>
Unit Test Results
</a>
</li>
<li>
<a>
<xsl:attribute name="href">
<xsl:text>zips/I</xsl:text>
<xsl:value-of select="substring-after(@label,'CDT Build 2.0.0.')"/>
<xsl:text>/org.eclipse.cdt-I</xsl:text>
<xsl:value-of select="substring-after(@label,'CDT Build 2.0.0.')"/>
<xsl:text>-aix.motif.ppc.zip</xsl:text>
</xsl:attribute>
<xsl:text>org.eclipse.cdt-I</xsl:text>
<xsl:value-of select="substring-after(@label,'CDT Build 2.0.0.')"/>
<xsl:text>-aix.motif.ppc.zip</xsl:text>
</a>
</li>
<li>
<a>
<xsl:attribute name="href">
<xsl:text>zips/I</xsl:text>
<xsl:value-of select="substring-after(@label,'CDT Build 2.0.0.')"/>
<xsl:text>/org.eclipse.cdt-I</xsl:text>
<xsl:value-of select="substring-after(@label,'CDT Build 2.0.0.')"/>
<xsl:text>-linux.gtk.x86.zip</xsl:text>
</xsl:attribute>
<xsl:text>org.eclipse.cdt-I</xsl:text>
<xsl:value-of select="substring-after(@label,'CDT Build 2.0.0.')"/>
<xsl:text>-linux.gtk.x86.zip</xsl:text>
</a>
</li>
<li>
<a>
<xsl:attribute name="href">
<xsl:text>zips/I</xsl:text>
<xsl:value-of select="substring-after(@label,'CDT Build 2.0.0.')"/>
<xsl:text>/org.eclipse.cdt-I</xsl:text>
<xsl:value-of select="substring-after(@label,'CDT Build 2.0.0.')"/>
<xsl:text>-linux.motif.x86.zip</xsl:text>
</xsl:attribute>
<xsl:text>org.eclipse.cdt-I</xsl:text>
<xsl:value-of select="substring-after(@label,'CDT Build 2.0.0.')"/>
<xsl:text>-linux.motif.x86.zip</xsl:text>
</a>
</li>
<li>
<a>
<xsl:attribute name="href">
<xsl:text>zips/I</xsl:text>
<xsl:value-of select="substring-after(@label,'CDT Build 2.0.0.')"/>
<xsl:text>/org.eclipse.cdt-I</xsl:text>
<xsl:value-of select="substring-after(@label,'CDT Build 2.0.0.')"/>
<xsl:text>-qnx.photon.x86.zip</xsl:text>
</xsl:attribute>
<xsl:text>org.eclipse.cdt-I</xsl:text>
<xsl:value-of select="substring-after(@label,'CDT Build 2.0.0.')"/>
<xsl:text>-qnx.photon.x86.zip</xsl:text>
</a>
</li>
<li>
<a>
<xsl:attribute name="href">
<xsl:text>zips/I</xsl:text>
<xsl:value-of select="substring-after(@label,'CDT Build 2.0.0.')"/>
<xsl:text>/org.eclipse.cdt-I</xsl:text>
<xsl:value-of select="substring-after(@label,'CDT Build 2.0.0.')"/>
<xsl:text>-solaris.motif.sparc.zip</xsl:text>
</xsl:attribute>
<xsl:text>org.eclipse.cdt-I</xsl:text>
<xsl:value-of select="substring-after(@label,'CDT Build 2.0.0.')"/>
<xsl:text>-solaris.motif.sparc.zip</xsl:text>
</a>
</li>
<li>
<a>
<xsl:attribute name="href">
<xsl:text>zips/I</xsl:text>
<xsl:value-of select="substring-after(@label,'CDT Build 2.0.0.')"/>
<xsl:text>/org.eclipse.cdt-I</xsl:text>
<xsl:value-of select="substring-after(@label,'CDT Build 2.0.0.')"/>
<xsl:text>-win32.win32.x86.zip</xsl:text>
</xsl:attribute>
<xsl:text>org.eclipse.cdt-I</xsl:text>
<xsl:value-of select="substring-after(@label,'CDT Build 2.0.0.')"/>
<xsl:text>-win32.win32.ppc.zip</xsl:text>
</a>
</li>
<li>
<a>
<xsl:attribute name="href">
<xsl:text>zips/I</xsl:text>
<xsl:value-of select="substring-after(@label,'CDT Build 2.0.0.')"/>
<xsl:text>/org.eclipse.cdt.make-I</xsl:text>
<xsl:value-of select="substring-after(@label,'CDT Build 2.0.0.')"/>
<xsl:text>.zip</xsl:text>
</xsl:attribute>
<xsl:text>org.eclipse.cdt.make-I</xsl:text>
<xsl:value-of select="substring-after(@label,'CDT Build 2.0.0.')"/>
<xsl:text>.zip</xsl:text>
</a>
</li>
<li>
<a>
<xsl:attribute name="href">
<xsl:text>zips/I</xsl:text>
<xsl:value-of select="substring-after(@label,'CDT Build 2.0.0.')"/>
<xsl:text>/org.eclipse.cdt.managedbuilder-I</xsl:text>
<xsl:value-of select="substring-after(@label,'CDT Build 2.0.0.')"/>
<xsl:text>.zip</xsl:text>
</xsl:attribute>
<xsl:text>org.eclipse.cdt.managedbuilder-I</xsl:text>
<xsl:value-of select="substring-after(@label,'CDT Build 2.0.0.')"/>
<xsl:text>.zip</xsl:text>
</a>
</li>
<li>
<a>
<xsl:attribute name="href">
<xsl:text>zips/I</xsl:text>
<xsl:value-of select="substring-after(@label,'CDT Build 2.0.0.')"/>
<xsl:text>/org.eclipse.cdt.testing-I</xsl:text>
<xsl:value-of select="substring-after(@label,'CDT Build 2.0.0.')"/>
<xsl:text>.zip</xsl:text>
</xsl:attribute>
<xsl:text>org.eclipse.cdt.testing-I</xsl:text>
<xsl:value-of select="substring-after(@label,'CDT Build 2.0.0.')"/>
<xsl:text>.zip</xsl:text>
</a>
</li>
</xsl:if>
</ul>
</li>
</xsl:template>
</xsl:transform>

View file

@ -34,5 +34,13 @@ plugin@org.eclipse.cdt.managedbuilder.core=HEAD,:pserver:anonymous@dev.eclipse.o
plugin@org.eclipse.cdt.managedbuilder.ui=HEAD,:pserver:anonymous@dev.eclipse.org:/home/tools,
feature@org.eclipse.cdt.managedbuilder=HEAD,:pserver:anonymous@dev.eclipse.org:/home/tools,,org.eclipse.cdt.managedbuilder-feature
! Testing feature
plugin@org.eclipse.cdt.core.tests=HEAD,:pserver:anonymous@dev.eclipse.org:/home/tools,
plugin@org.eclipse.cdt.ui.tests=HEAD,:pserver:anonymous@dev.eclipse.org:/home/tools,
plugin@org.eclipse.cdt.debug.ui.tests=HEAD,:pserver:anonymous@dev.eclipse.org:/home/tools,
plugin@org.eclipse.cdt.testing=HEAD,:pserver:anonymous@dev.eclipse.org:/home/tools,
feature@org.eclipse.cdt.testing=HEAD,:pserver:anonymous@dev.eclipse.org:/home/tools,,org.eclipse.cdt.testing-feature
! Source Feature

View file

@ -0,0 +1,6 @@
The build is available at
http://update.eclipse.org/tools/cdt/updates/builds/2.0
Cheers,
dschaefer2, the buildmaster...

View file

@ -0,0 +1,81 @@
#####################
# Parameters describing how and where to execute the build.
# Typical users need only update the following properties:
# baseLocation - where things you are building against are installed
# bootclasspath - The base jars to compile against (typicaly rt.jar)
# configs - the list of {os, ws, arch} configurations to build.
#
# Of course any of the settings here can be overridden by spec'ing
# them on the command line (e.g., -DbaseLocation=d:/eclipse
############# CVS CONTROL ################
# The CVS tag to use when fetching the map files from the repository
mapVersionTag=HEAD
# The CVS tag to use when fetching elements to build. By default the
# builder will use whatever is in the maps. Use this value to override
# for example, when doing a nightly build out of HEAD
# fetchTag=HEAD
############## BUILD / GENERATION CONTROL ################
# The directory into which the build elements will be fetched and where
# the build will take place. buildDirectory and install should be the same
# value.
buildDirectory=build
# Type of build. Used in naming the build output. Typically this value is
# one of I, N, M, S, ...
buildType=I
# ID of the build. Used in naming the build output.
buildId=TestBuild
# Label for the build. Used in naming the build output
buildLabel=${buildType}.${buildId}
# Timestamp for the build. Used in naming the build output
timestamp=007
# Base location for anything the build needs to compile against. For example,
# when building GEF, the baseLocation should be the location of a previously
# installed Eclipse against which the GEF code will be compiled.
baseLocation=
#Os/Ws/Arch/nl of the eclipse specified by baseLocation
#baseos
#basews
#basearch
#basenl
# The location underwhich all of the build output will be collected. This will be
# the root path in the resultant zip file.
collPlace=eclipse
# The directory in which to execute zip of the ${collPlace} directory
collBase=.
# The list of {os, ws, arch} configurations to build. This
# value is a '&' separated list of ',' separate triples. For example,
# configs=win32,win32,x86 & linux,motif,x86
# By default the value is *,*,*
configs=*,*,*
#Arguments to send to the zip executable
zipargs=
############# JAVA COMPILER OPTIONS ##############
# The location of the Java jars to compile against. Typically the rt.jar for your JDK/JRE
#bootclasspath=d:/ibm1.3.1/jre/lib/rt.jar
# Whether or not to include debug info in the output jars
javacDebugInfo=false
# Whether or not to fail the build if there are compiler errors
javacfailonerror=true
# The version of the source code
#javaSource=1.3
# The version of the byte code targeted
#javacTarget=1.1

View file

@ -0,0 +1,130 @@
<project name="Build specific targets and properties" default="noDefault" >
<property name="basews" value="gtk" />
<property name="baseos" value="linux" />
<property name="basearch" value="x86" />
<property name="basenl" value="en_US" />
<!-- ===================================================================== -->
<!-- Run a given ${target} on all elements being built -->
<!-- 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.cdt.testing" />
</ant>
</target>
<!-- ===================================================================== -->
<!-- Targets to assemble the built elements for particular configurations -->
<!-- These generally call the generated assemble scripts (named in -->
<!-- ${assembleScriptName}) but may also add pre and post processing -->
<!-- Add one target for each root element and each configuration -->
<!-- ===================================================================== -->
<target name="assemble.org.eclipse.cdt.testing">
<ant antfile="${assembleScriptName}" dir="${buildDirectory}"/>
</target>
<!-- ===================================================================== -->
<!-- Check out map files from correct repository -->
<!-- Replace values for cvsRoot, package and mapVersionTag as desired. -->
<!-- ===================================================================== -->
<target name="getMapFiles">
<copy todir="${buildDirectory}/maps">
<fileset dir="${builder}/../maps"/>
</copy>
</target>
<!-- ===================================================================== -->
<!-- Steps to do before setup -->
<!-- ===================================================================== -->
<target name="preSetup">
</target>
<!-- ===================================================================== -->
<!-- Steps to do after setup but before starting the build proper -->
<!-- ===================================================================== -->
<target name="postSetup">
</target>
<!-- ===================================================================== -->
<!-- Steps to do before fetching the build elements -->
<!-- ===================================================================== -->
<target name="preFetch">
</target>
<!-- ===================================================================== -->
<!-- Steps to do after fetching the build elements -->
<!-- ===================================================================== -->
<target name="postFetch">
</target>
<!-- ===================================================================== -->
<!-- Steps to do before generating the build scripts. -->
<!-- ===================================================================== -->
<target name="preGenerate">
</target>
<!-- ===================================================================== -->
<!-- Steps to do after generating the build scripts. -->
<!-- ===================================================================== -->
<target name="postGenerate">
</target>
<!-- ===================================================================== -->
<!-- Steps to do before running the build.xmls for the elements being built. -->
<!-- ===================================================================== -->
<target name="preProcess">
<replace dir="${buildDirectory}/plugins" value="${timestamp}" token="@build@">
<include name="**/about.mappings" />
</replace>
</target>
<!-- ===================================================================== -->
<!-- Steps to do after running the build.xmls for the elements being built. -->
<!-- ===================================================================== -->
<target name="postProcess">
</target>
<!-- ===================================================================== -->
<!-- Steps to do before running assemble. -->
<!-- ===================================================================== -->
<target name="preAssemble">
</target>
<!-- ===================================================================== -->
<!-- Steps to do after running assemble. -->
<!-- ===================================================================== -->
<target name="postAssemble">
</target>
<!-- ===================================================================== -->
<!-- Steps to do after the build is done. -->
<!-- ===================================================================== -->
<target name="postBuild">
</target>
<!-- ===================================================================== -->
<!-- Steps to do to test the build results -->
<!-- ===================================================================== -->
<target name="test">
</target>
<!-- ===================================================================== -->
<!-- Steps to do to publish the build results -->
<!-- ===================================================================== -->
<target name="publish">
</target>
<!-- ===================================================================== -->
<!-- Default target -->
<!-- ===================================================================== -->
<target name="noDefault">
<echo message="You must specify a target when invoking this file" />
</target>
</project>