| <project name="Build specific targets and properties" default="noDefault"> |
| |
| <property name="id" value="org.eclipse.gmf.sdk.experimental" /> |
| <property name="archiveName" value="GMF-sdk-experimental-${buildId}.zip"/> |
| |
| <!-- ===================================================================== --> |
| <!-- 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="${id}"/> |
| </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.gmf.sdk.experimental"> |
| <ant antfile="${assembleScriptName}" dir="${buildDirectory}"/> |
| </target> |
| |
| <!-- ===================================================================== --> |
| <!-- Check out map files from correct repository --> |
| <!-- Replace values for mapsCheckoutTag as desired. --> |
| <!-- ===================================================================== --> |
| <target name="getMapFiles" depends="checkLocalMaps" unless="skipMaps"> |
| <property name="mapsCheckoutTag" value="HEAD" /> |
| <cvs command="checkout -d org.eclipse.gmf.releng" cvsRoot="${mapsRepo}" package="${mapsRoot}" dest="${buildDirectory}/maps" tag="${mapsCheckoutTag}" /> |
| <!-- Check out target platform config --> |
| <property name="targetConfigTag" value="HEAD" /> |
| <cvs command="checkout -d org.eclipse.gmf.releng.target" cvsRoot="${mapsRepo}" package="${mapsRoot}.target" dest="${buildDirectory}/maps" tag="${targetConfigTag}" /> |
| </target> |
| |
| <target name="checkLocalMaps"> |
| <available property="skipMaps" file="${buildDirectory}/maps" /> |
| </target> |
| |
| <target name="tagMapFiles" if="tagMaps"> |
| <cvs dest="${buildDirectory}/maps/${mapsRoot}" command="tag ${mapsTagTag}" /> |
| </target> |
| |
| <!-- ===================================================================== --> |
| |
| <target name="clean" unless="noclean"> |
| <antcall target="allElements"> |
| <param name="target" value="cleanElement" /> |
| </antcall> |
| </target> |
| |
| <target name="gatherLogs"> |
| <mkdir dir="${buildDirectory}/${buildLabel}/compilelogs" /> |
| <antcall target="allElements"> |
| <param name="target" value="gatherLogs" /> |
| </antcall> |
| <unzip dest="${buildDirectory}/${buildLabel}/compilelogs" overwrite="true"> |
| <fileset dir="${buildDirectory}/features"> |
| <include name="**/*.log.zip" /> |
| </fileset> |
| </unzip> |
| </target> |
| |
| <!-- ===================================================================== --> |
| <!-- Steps to do before setup --> |
| <!-- ===================================================================== --> |
| <target name="preSetup"> |
| <antcall target="cleanBase"/> |
| </target> |
| |
| <target name="cleanBase" if="cleanBase"> |
| <delete dir="${baseLocation}"/> |
| </target> |
| |
| <!-- ===================================================================== --> |
| <!-- Steps to do after setup but before starting the build proper --> |
| <!-- ===================================================================== --> |
| <target name="postSetup"> |
| <!-- Load build.cfg properties --> |
| <property file="${buildDirectory}/maps/org.eclipse.gmf.releng.target/build.cfg"/> |
| <ant antfile="${scripts}/install.xml" target="installBase" /> |
| <ant antfile="${scripts}/install.xml" target="installGEF" /> |
| <ant antfile="${scripts}/install.xml" target="installEMF" /> |
| <ant antfile="${scripts}/install.xml" target="installXerces" /> |
| <ant antfile="${scripts}/install.xml" target="installBatik" /> |
| <ant antfile="${scripts}/install.xml" target="installGMF" /> |
| </target> |
| |
| <!-- ===================================================================== --> |
| <!-- Steps to do before fetching the build elements --> |
| <!-- ===================================================================== --> |
| <target name="preFetch" if="copyRuntime"> |
| <!-- Avoid repeated download of runtime... --> |
| <copy todir="${buildDirectory}/plugins"> |
| <fileset dir="${buildDirectory}/../runtime/plugins"/> |
| </copy> |
| </target> |
| |
| <!-- ===================================================================== --> |
| <!-- Steps to do after fetching the build elements --> |
| <!-- ===================================================================== --> |
| <target name="postFetch"> |
| <!-- TODO: use this workaround if it is decided to have optional source builds --> |
| <!-- <antcall target="generateSources"/> --> |
| <replace dir="${buildDirectory}/plugins" value="${buildId}" token="@buildId@"> |
| <include name="**/about.mappings" /> |
| </replace> |
| </target> |
| |
| <!-- ===================================================================== --> |
| <!-- NOTE: This is not currently in use! --> |
| <!-- FIXME! This is a workaround, as there is apparently no property --> |
| <!-- setting to enable/disable source builds using generate.feature option.--> |
| <!-- http://www.eclipse.org/articles/Article-PDE-Automation/automation.html--> |
| <!-- ===================================================================== --> |
| <target name="generateSources" if="sourceBuild"> |
| <replace file="${buildDirectory}/features/${id}/feature.xml"> |
| <replacefilter token="<!--@@INCLUDES@@-->" value="<includes id="${id}.source" version="0.0.0"/>"/> |
| </replace> |
| <replace file="${buildDirectory}/features/${id}/build.properties"> |
| <replacefilter token="#generate.feature" value="generate.feature" /> |
| </replace> |
| </target> |
| |
| <!-- ===================================================================== --> |
| <!-- FIXME! In accordance with workaround above for source builds, clean --> |
| <!-- this build structure and force clean rebuild for normal builds. --> |
| <!-- ===================================================================== --> |
| <target name="preGenerate"> |
| </target> |
| |
| <!-- ===================================================================== --> |
| <!-- Steps to do after generating the build scripts. --> |
| <!-- ===================================================================== --> |
| <target name="postGenerate"> |
| <!-- Replace in generated plug-ins --> |
| <replace dir="${buildDirectory}/plugins" value="${buildId}" token="@buildId@"> |
| <include name="**/about.mappings" /> |
| </replace> |
| </target> |
| |
| <!-- ===================================================================== --> |
| <!-- Steps to do before running the build.xmls for the elements being built. --> |
| <!-- ===================================================================== --> |
| <target name="preProcess"> |
| </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 before running package. --> |
| <!-- ===================================================================== --> |
| <target name="prePackage"> |
| </target> |
| |
| <!-- ===================================================================== --> |
| <!-- Steps to do after running package. --> |
| <!-- ===================================================================== --> |
| <target name="postPackage"> |
| </target> |
| |
| <!-- ===================================================================== --> |
| <!-- Steps to do after the build is done. --> |
| <!-- ===================================================================== --> |
| <target name="postBuild"> |
| <antcall target="gatherLogs" /> |
| <!-- A temporary directory leftover? --> |
| <delete dir="${buildDirectory}/org.eclipse.gmf" failonerror="false"/> |
| <antcall target="pack200"/> |
| <antcall target="publish"/> |
| <ant antfile="${scripts}/package.xml" target="unpackUpdateJarsForPackaging"> |
| <property name="packageBatik" value="true"/> |
| </ant> |
| </target> |
| |
| <target name="pack200" if="pack200"> |
| <ant antfile="${scripts}/package.xml" target="pack200" /> |
| </target> |
| |
| <!-- ===================================================================== --> |
| <!-- Steps to do to test the build results --> |
| <!-- ===================================================================== --> |
| <target name="test"> |
| </target> |
| |
| <!-- ===================================================================== --> |
| <!-- Steps to do to publish the build results --> |
| <!-- ===================================================================== --> |
| <target name="publish"> |
| <move file="${buildDirectory}/${buildLabel}" tofile="${artifacts}/${buildLabel}"/> |
| <!-- workaround for CC until figure out how to tell CC about buildLabel --> |
| <delete dir="${artifacts}/cc" failonerror="false"/> |
| <copy todir="${artifacts}/cc"> |
| <fileset dir="${artifacts}/${buildLabel}"/> |
| </copy> |
| </target> |
| |
| <!-- ===================================================================== --> |
| <!-- Default target --> |
| <!-- ===================================================================== --> |
| <target name="noDefault"> |
| <echo message="You must specify a target when invoking this file" /> |
| </target> |
| |
| </project> |