blob: 98618b2cbb18889b63e4d6f609feff0853b8c751 [file] [log] [blame]
<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="&lt;!--@@INCLUDES@@--&gt;" value="&lt;includes id=&quot;${id}.source&quot; version=&quot;0.0.0&quot;/&gt;"/>
</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>