| <?xml version="1.0"?> |
| <project name="project" default="build.site"> |
| <property name="director.url" value="http://www.eclipse.org/downloads/download.php?file=/tools/buckminster/products/org.eclipse.equinox.p2.director.product_1.4.0.v20110313-0656.zip&r=1" /> |
| |
| <!--Property file containing overrides for the default properties --> |
| <property name="build.root" location="${user.home}/epp.build" /> |
| <property file="${build.root}/build.properties" /> |
| <property name="bm.headless.site" value="http://download.eclipse.org/tools/buckminster/headless-3.5/" /> |
| <property name="simrelease.site" value="http://download.eclipse.org/releases/staging" /> |
| <property name="buildtools" location="${build.root}/tools" /> |
| <property name="workspace" location="${build.root}/ws" /> |
| <property name="targetPlatformPath" location="${build.root}/TP" /> |
| <property name="cquery.url" location="${basedir}/epp.cquery" /> |
| <property name="tp.mspec" location="${basedir}/epp-tp.mspec" /> |
| |
| <!-- This macro executes the default application of an eclipse installation that resides |
| in the folder ${buildtools}/@app |
| --> |
| <macrodef name="eclipse.launch"> |
| <attribute name="app" /> |
| <element name="args" optional="true" /> |
| <sequential> |
| <!-- We assume that the eclipse installation is beneath ${buildtools} --> |
| <property name="@{app}.deploy.dir" value="${buildtools}/@{app}" /> |
| |
| <!-- Find the Eclipse launcher and assing its location to the @{app}.launcher property --> |
| <pathconvert property="@{app}.launcher"> |
| <first count="1"> |
| <sort> |
| <fileset dir="${@{app}.deploy.dir}/plugins" includes="**/org.eclipse.equinox.launcher_*.jar" /> |
| <reverse xmlns="antlib:org.apache.tools.ant.types.resources.comparators"> |
| <date /> |
| </reverse> |
| </sort> |
| </first> |
| </pathconvert> |
| |
| <!-- Launch the eclipse application --> |
| <java fork="true" jar="${@{app}.launcher}" dir="${@{app}.deploy.dir}" failonerror="true"> |
| <!-- Uncomment to debug <jvmarg value="-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=y"/> --> |
| <jvmarg value="-Declipse.p2.mirrors=false" /> |
| <args /> |
| </java> |
| </sequential> |
| </macrodef> |
| |
| <!-- Fetch and unzip the director --> |
| <available file="${buildtools}/director/director" property="director.exists" /> |
| <target name="get.director" unless="director.exists"> |
| <tempfile destdir="${java.io.tmpdir}" prefix="director-" suffix=".zip" property="director.zip" deleteonexit="true" /> |
| <get src="${director.url}" dest="${director.zip}" /> |
| <unzip src="${director.zip}" dest="${buildtools}" /> |
| </target> |
| |
| <!-- Configure the Buckminster product with needed features --> |
| <target name="install.buckminster" depends="get.director"> |
| <eclipse.launch app="director"> |
| <args> |
| <arg value="-consoleLog" /> |
| <arg value="-r" /> |
| <arg value="${bm.headless.site}" /> |
| <arg value="-d" /> |
| <arg value="${buildtools}/buckminster" /> |
| <arg value="-p" /> |
| <arg value="Buckminster" /> |
| <arg value="-i" /> |
| <arg value="org.eclipse.buckminster.cmdline.product" /> |
| <arg value="-i" /> |
| <arg value="org.eclipse.buckminster.core.headless.feature.feature.group" /> |
| <arg value="-i" /> |
| <arg value="org.eclipse.buckminster.git.headless.feature.feature.group" /> |
| <arg value="-i" /> |
| <arg value="org.eclipse.buckminster.pde.headless.feature.feature.group" /> |
| </args> |
| </eclipse.launch> |
| </target> |
| |
| <target name="build.tp" depends="install.buckminster"> |
| <eclipse.launch app="buckminster"> |
| <args> |
| <arg value="-data" /> |
| <arg value="${workspace}" /> |
| <arg value="setpref" /> |
| <arg value="targetPlatformPath=${targetPlatformPath}" /> |
| </args> |
| </eclipse.launch> |
| <eclipse.launch app="buckminster"> |
| <args> |
| <jvmarg value="-Dsimrelease.site=${simrelease.site}" /> |
| <arg value="-data" /> |
| <arg value="${workspace}" /> |
| <arg value="import" /> |
| <arg value="${tp.mspec}" /> |
| </args> |
| </eclipse.launch> |
| <!-- |
| <copy todir="${targetPlatformPath}/plugins"> |
| <fileset dir="/home/data/httpd/download.eclipse.org/releases/staging/aggregate/plugins"> |
| <include name="**/org.eclipse*intro*" /> |
| <include name="**/org.eclipse*capabilities*" /> |
| </fileset> |
| </copy> |
| --> |
| </target> |
| |
| <target name="build.workspace" depends="build.tp"> |
| <eclipse.launch app="buckminster"> |
| <args> |
| <jvmarg value="-Dsimrelease.site=${simrelease.site}" /> |
| <arg value="-data" /> |
| <arg value="${workspace}" /> |
| <arg value="import" /> |
| <arg value="${cquery.url}" /> |
| </args> |
| </eclipse.launch> |
| </target> |
| |
| <target name="build.site" depends="build.workspace"> |
| |
| <tstamp> |
| <format property="build.id" pattern="yyyyMMdd-HHmm" timezone="GMT" /> |
| </tstamp> |
| |
| <eclipse.launch app="buckminster"> |
| <args> |
| <jvmarg value="-Dqualifier.replacement.*=generator:lastModified" /> |
| <jvmarg value="-Dgenerator.lastModified.format=yyyyMMdd-HHmm" /> |
| <jvmarg value="-Dtarget.os=*" /> |
| <jvmarg value="-Dtarget.ws=*" /> |
| <jvmarg value="-Dtarget.arch=*" /> |
| <jvmarg value="-Dbuckminster.output.root=${build.root}/buildresult" /> |
| <jvmarg value="-Dbuckminster.temp.root=${build.root}/temp" /> |
| <jvmarg value="-Dbuild.id=${build.id}" /> |
| <jvmarg value="-Dcbi.include.source=false" /> |
| <arg value="-data" /> |
| <arg value="${workspace}" /> |
| <arg value="build" /> |
| <arg value="--clean" /> |
| <arg value="--thorough" /> |
| </args> |
| </eclipse.launch> |
| |
| <eclipse.launch app="buckminster"> |
| <args> |
| <jvmarg value="-Dqualifier.replacement.*=generator:lastModified" /> |
| <jvmarg value="-Dgenerator.lastModified.format=yyyyMMdd-HHmm" /> |
| <jvmarg value="-Dtarget.os=*" /> |
| <jvmarg value="-Dtarget.ws=*" /> |
| <jvmarg value="-Dtarget.arch=*" /> |
| <jvmarg value="-Dbuckminster.output.root=${build.root}/buildresult" /> |
| <jvmarg value="-Dbuckminster.temp.root=${build.root}/temp" /> |
| <jvmarg value="-Dbuild.id=${build.id}" /> |
| <jvmarg value="-Dcbi.include.source=false" /> |
| <jvmarg value="-Dsite.pack200=true" /> |
| <jvmarg value="-Dsite.signing=true" /> |
| <jvmarg value="-Dstaging.area=/home/data/httpd/download-staging.priv/technology/epp/" /> |
| <jvmarg value="-Dsigning.type=eclipse.local" /> |
| <arg value="-data" /> |
| <arg value="${workspace}" /> |
| <arg value="perform" /> |
| <arg value="org.eclipse.epp.allpackages.feature#site.p2.zip" /> |
| </args> |
| </eclipse.launch> |
| |
| </target> |
| |
| <!-- ================================= |
| target: archiveArtifacts |
| ================================= --> |
| <target name="archiveArtifacts" description="Copy artifacts to central location."> |
| <copy todir="${env.WORKSPACE}/repositories/${env.BUILD_NUMBER}" preservelastmodified="true" verbose="true"> |
| <fileset dir="${build.root}/buildresult/org.eclipse.epp.allpackages.feature_2.0.2-eclipse.feature/site.p2/**" /> |
| </copy> |
| </target> |
| |
| |
| |
| <target name="clean.all" depends="clean.buckminster,clean.workspace,clean.build,clean.tp"> |
| <delete dir="${buildtools}/director" /> |
| </target> |
| |
| <target name="clean.workspace"> |
| <delete dir="${workspace}" /> |
| </target> |
| |
| <target name="clean.build"> |
| <delete dir="${build.root}/buildresult" /> |
| </target> |
| |
| <target name="clean.tp"> |
| <delete dir="${targetPlatformPath}" /> |
| </target> |
| |
| <target name="clean.buckminster"> |
| <delete dir="${buildtools}/buckminster" /> |
| </target> |
| </project> |