--- /dev/null
+<!-- This script will not be uploaded to the server.\r
+ PLEASE DO NOT MODIFY \r
+ If you modify this script it is likely that the build will not work on the server\r
+-->\r
+<project name="Build Facade" default="main">\r
+ <taskdef resource="org/pluginbuilder/anttasks/pluginbuildertasks.properties" classpath="build-files/pluginbuilder-anttasks.jar" />\r
+ \r
+ <property file="build_local.properties" />\r
+ <property name="eclipse.installation.dir" value="${eclipseDir}"/>\r
+ <property name="eclipse.local.tar.non.server" value="${test.eclipse.zip}"/>\r
+ <import file="build-files/build_shared.xml"/>\r
+ \r
+ <target name="-properties"> \r
+ \r
+ <!-- versioning -->\r
+ <property name="build.version" value="HEAD"/>\r
+ <property file="releases/${build.version}.properties" />\r
+ <tstamp>\r
+ <format property="version.qualifier" pattern="yyyyMMddHHmm" timezone="GMT" unit="minute"/>\r
+ </tstamp>\r
+ \r
+ <property name="buildTypePresentation" value=""/>\r
+ <property name="version.full" value="${version}.${version.qualifier}${buildTypePresentation}"/>\r
+\r
+ <!-- includes -->\r
+ <property file="build_local.properties" />\r
+ <property file="pluginbuilder.config" />\r
+ \r
+ <!-- set defaults -->\r
+ <property name="buildTarget" value="main"/>\r
+ <property name="verboseAnt" value="-Ddummy=true"/>\r
+ \r
+ <!-- check if clean should be called -->\r
+ <condition property="is.clean">\r
+ <or>\r
+ <equals arg1="main" arg2="${buildTarget}" trim="true"/>\r
+ <equals arg1="fetch" arg2="${buildTarget}" trim="true"/>\r
+ </or>\r
+ </condition>\r
+ \r
+ </target>\r
+ \r
+ <target name="-prepare.build.host">\r
+\r
+ <antcall target="unpack.eclipse"/>\r
+ \r
+ <available type="dir" file="${eclipseDir}/plugins" property="eclipseDir.plugins.exists"/>\r
+ <fail message="Could not find directory ${eclipseDir}/plugins. Please check eclipseDir in build_local.properties" unless="eclipseDir.plugins.exists"/>\r
+ \r
+ <!-- determine buildfiles -->\r
+ <BundleFileLocator eclipseInstallationRoot="${eclipseDir}" bundleId="org.eclipse.pde.build" filePath="scripts/build.xml" property="regularbuildfile" /> \r
+ <dirname file="${regularbuildfile}" property="scriptdir"/>\r
+ <property name="productbuildfile" value="${scriptdir}/productBuild/productBuild.xml"/>\r
+ \r
+ <!-- determine launcher -->\r
+ <BundleFileLocator eclipseInstallationRoot="${eclipseDir}" bundleId="org.eclipse.equinox.launcher" property="equinoxjar" /> \r
+\r
+ </target>\r
+ \r
+ <target name="-clean" if="is.clean">\r
+ <echo level="info" message="Cleaning directory ${buildDirectory}"/>\r
+ <delete dir="${buildDirectory}" verbose="false"/>\r
+ <mkdir dir="${buildDirectory}"/>\r
+ </target>\r
+ \r
+ <target name="-build" depends="-properties,-clean,-prepare.build.host">\r
+ <condition property="no.rcp.build" value="true">\r
+ <not>\r
+ <equals arg1="${pluginbuilder.is.rcpbuild}" arg2="true"/>\r
+ </not>\r
+ </condition>\r
+ <antcall target="-build.rcp.internal"/>\r
+ <antcall target="-build.internal">\r
+ <param name="buildfile" value="${regularbuildfile}"/>\r
+ <param name="varjvmargs1" value="-Dconfigs=*,*,*"/>\r
+ <param name="varjvmargs2" value="-Ddummy2=2"/>\r
+ </antcall>\r
+ </target>\r
+ \r
+ <target name="-build.rcp.internal" unless="no.rcp.build">\r
+ <antcall target="-build.internal"> \r
+ <param name="buildfile" value="${productbuildfile}"/>\r
+ <param name="varjvmargs1" value="-Dno.postBuild=true"/>\r
+ <param name="varjvmargs2" value="-Dbuild.container.feature=true"/>\r
+ </antcall>\r
+ </target>\r
+ \r
+ <target name="rcp" unless="no.rcp.build" depends="-properties,-clean,-prepare.build.host" description="Build RCP">\r
+ <condition property="no.rcp.build" value="true">\r
+ <not>\r
+ <equals arg1="${pluginbuilder.is.rcpbuild}" arg2="true"/>\r
+ </not>\r
+ </condition>\r
+ <fail message="Please enable and configure an RCP build in the Plug-in Builder Editor before calling this target." if="no.rcp.build"/>\r
+ <antcall target="-build.internal">\r
+ <param name="buildfile" value="${productbuildfile}"/>\r
+ <param name="varjvmargs1" value="-Dno.postBuild=true"/>\r
+ <param name="varjvmargs2" value="-Dbuild.container.feature=true"/>\r
+ </antcall>\r
+ </target>\r
+\r
+ <target name="-build.internal">\r
+ <property name="buildResultsDirectory" value="${buildDirectory}/results" />\r
+ <java classname="org.eclipse.equinox.launcher.Main" fork="true" \r
+ failonerror="true" errorproperty="build.stderr">\r
+ <arg value="-ws" />\r
+ <arg value="${ws}" />\r
+ <arg value="-os" />\r
+ <arg value="${os}" />\r
+ <arg value="-application" />\r
+ <arg value="org.eclipse.ant.core.antRunner" />\r
+ <arg value="-buildfile" />\r
+ <arg value="${buildfile}" />\r
+ <arg value="${buildTarget}" />\r
+ <arg value="-data" />\r
+ <arg value="${buildDirectory}/workspace" />\r
+ <arg value="${verboseAnt}"/>\r
+ <jvmarg value="-Dbasews=${ws}" />\r
+ <jvmarg value="-Dbaseos=${os}" />\r
+ <jvmarg value="-Dbasearch=${arch}" />\r
+ <jvmarg value="-Dbuilder=${buildHome}/build-files" />\r
+ <jvmarg value="-DjavacFailOnError=true"/>\r
+ <jvmarg value="-DbuildDirectory=${buildDirectory}"/>\r
+ <jvmarg value="-DbuildResultsDirectory=${buildResultsDirectory}"/>\r
+ <jvmarg value="-DbaseLocation=${eclipseDir}"/>\r
+ <jvmarg value="-DbuildHome=${buildHome}"/>\r
+ <jvmarg value="-Dversion.full=${version.full}"/>\r
+ <jvmarg value="-Dversion.qualifier=${version.qualifier}${buildTypePresentation}"/>\r
+ <jvmarg value="-DbuildType=${buildType}"/>\r
+ <jvmarg value="-Dphpeclipse_build_target=${phpeclipse_build_target}" />\r
+ <jvmarg value="-DfetchTag=${fetchTag}"/>\r
+ <jvmarg value="${varjvmargs1}"/>\r
+ <jvmarg value="${varjvmargs2}"/>\r
+ \r
+ <jvmarg value="-Dtest.eclipse.zip=${test.eclipse.zip}"/>\r
+\r
+ <classpath>\r
+ <pathelement location="${equinoxjar}" />\r
+ </classpath>\r
+ </java>\r
+ <echo>${build.stderr}</echo>\r
+ <condition property="is.build.error" value="true">\r
+ <contains string="${build.stderr}" substring="BUILD FAILED"/>\r
+ </condition>\r
+ <fail message="PDE Build failed" if="is.build.error"/>\r
+ </target>\r
+ \r
+ <target name="main-cc"\r
+ description="This target is suited to be run from cruisecontrol. The property 'label' is expected to be set from cruisecontrol.">\r
+ <exec executable="date" outputproperty="label">\r
+ <arg value="+%Y%m%d%H%M" />\r
+ </exec>\r
+ <property name="version.full" value="${label}"/> \r
+ <!-- TODO: extract qualifier correctly from label -->\r
+ <property name="version.qualifier" value="${label}"/> \r
+ <antcall target="-build"/>\r
+ </target>\r
+ \r
+ <target name="main" description="Run the main target of customTargets.xml.">\r
+ <property name="buildTarget" value="main"/>\r
+ <antcall target="-build"/>\r
+ </target>\r
+\r
+ <target name="fetch" description="Run the fetch target of customTargets.xml.">\r
+ <property name="buildTarget" value="fetch"/>\r
+ <antcall target="-build"/>\r
+ </target> \r
+ \r
+ <target name="generate" description="Run the generate target of customTargets.xml.">\r
+ <property name="buildTarget" value="generate"/>\r
+ <antcall target="-build"/>\r
+ </target>\r
+ \r
+ <target name="process" description="Run the process target of customTargets.xml.">\r
+ <property name="buildTarget" value="process"/>\r
+ <antcall target="-build"/>\r
+ </target>\r
+ \r
+ <target name="assemble" description="Run the assemble target of customTargets.xml.">\r
+ <property name="buildTarget" value="assemble"/>\r
+ <antcall target="-build"/>\r
+ </target>\r
+ \r
+ <target name="postBuild" description="Run the postBuild target of customTargets.xml.">\r
+ <property name="buildTarget" value="postBuild"/>\r
+ <antcall target="-build"/>\r
+ </target>\r
+ \r
+ <target name="buildProperties" description="Print out derived properties for the current build." depends="-properties">\r
+ <fail message="You have to set the property 'buildPropertiesFile' if calling buildProperties" unless="buildPropertiesFile"/>\r
+ <condition property="subdir" value="nightly" else="releases">\r
+ <equals arg1="${buildType}" arg2="N"/>\r
+ </condition>\r
+ <echo file="${buildPropertiesFile}">relativeServerResultsDir: ${subdir}/${version.full}</echo>\r
+ </target>\r
+\r
+</project>\r