| <?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.0.0.v20100203-1557.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="helios.site" value="http://download.eclipse.org/releases/helios/" /> |
| <property name="staging.site" value="http://download.eclipse.org/releases/maintenance/" /> |
| <property name="platform.site" value="http://download.eclipse.org/eclipse/updates/3.6milestones/" /> |
| <property name="buildtools" location="${build.root}/tools" /> |
| <property name="workspace" location="${build.root}/workspace" /> |
| <property name="targetPlatformPath" location="${build.root}/TP" /> |
| <property name="cquery.url" location="${basedir}/epp.cquery" /> |
| <property name="tp.mspec" location="${basedir}/epp-tp.mspec" /> |
| <property name="tp-mpc.mspec" location="${basedir}/epp-tp-mpc.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"/> --> |
| <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 |
| --> |
| <!-- <arg value="${helios.site}"/> --> |
| <target name="install.buckminster" depends="get.director"> |
| <eclipse.launch app="director"> |
| <args> |
| <jvmarg value="-Declipse.p2.mirrors=false" /> |
| <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.cvs.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="-Dplatform.site=${platform.site}" /> |
| <jvmarg value="-Dhelios.site=${staging.site}" /> |
| <jvmarg value="-Declipse.p2.mirrors=false" /> |
| <arg value="-data" /> |
| <arg value="${workspace}" /> |
| <arg value="import"/> |
| <arg value="${tp.mspec}" /> |
| </args> |
| </eclipse.launch> |
| <eclipse.launch app="buckminster"> |
| <args> |
| <jvmarg value="-Dplatform.site=${platform.site}" /> |
| <jvmarg value="-Dhelios.site=${staging.site}" /> |
| <jvmarg value="-Declipse.p2.mirrors=false" /> |
| <arg value="-data" /> |
| <arg value="${workspace}" /> |
| <arg value="import"/> |
| <arg value="${tp-mpc.mspec}" /> |
| </args> |
| </eclipse.launch> |
| <copy todir="${targetPlatformPath}/plugins"> |
| <fileset dir="/home/data/httpd/download.eclipse.org/releases/maintenance/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="-Dplatform.site=${platform.site}" /> |
| <jvmarg value="-Dhelios.site=${staging.site}" /> |
| <jvmarg value="-Declipse.p2.mirrors=false" /> |
| <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" /> |
| <jvmarg value="-Declipse.p2.mirrors=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="-Declipse.p2.mirrors=false" /> |
| <arg value="-data" /> |
| <arg value="${workspace}" /> |
| <arg value="perform"/> |
| <arg value="org.eclipse.epp.allpackages.helios.feature#site.p2.zip" /> |
| </args> |
| </eclipse.launch> |
| |
| </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> |