awips2/edexOsgi/build.edex/edex/customTargets.xml

256 lines
10 KiB
XML
Raw Normal View History

<project name="Build specific targets and properties" default="noDefault">
<!-- ===================================================================== -->
<!-- Run a given ${target} on all elements being built -->
<!-- Add on <ant> task for each top level element being built. -->
<!-- ===================================================================== -->
<property name="allElementsFile" value="${builder}/allElements.xml"/>
<import file="${allElementsFile}" />
<target name="allElements">
<antcall target="allElementsDelegator" />
</target>
<!-- ===================================================================== -->
<!-- ===================================================================== -->
<target name="getBaseComponents" depends="checkLocalBase" unless="skipBase">
<get src="${eclipseBaseURL}" dest="${buildDirectory}/../temp-base.zip" />
<unzip dest="${base}" overwrite="true" src="${buildDirectory}/../temp-base.zip" />
</target>
<target name="checkLocalBase">
<available file="${base}" property="skipBase" />
</target>
<!-- ===================================================================== -->
<!-- Check out map files from correct repository -->
<!-- Replace values for mapsCheckoutTag as desired. -->
<!-- ===================================================================== -->
<target name="getMapFiles" depends="checkLocalMaps" unless="skipMaps">
</target>
<target name="checkLocalMaps">
</target>
<target name="tagMapFiles" if="tagMaps">
</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">
</target>
<!-- ===================================================================== -->
<!-- Steps to do after setup but before starting the build proper -->
<!-- ===================================================================== -->
<target name="postSetup">
<antcall target="getBaseComponents" />
</target>
<!-- ===================================================================== -->
<!-- Steps to do before fetching the build elements -->
<!-- ===================================================================== -->
<target name="preFetch">
</target>
<!-- ===================================================================== -->
<!-- Steps to do after fetching the build elements -->
<!-- ===================================================================== -->
<target name="postFetch">
</target>
<!-- ===================================================================== -->
<!-- Steps to do before generating the build scripts. -->
<!-- ===================================================================== -->
<target name="preGenerate">
</target>
<!-- ===================================================================== -->
<!-- Steps to do after generating the build scripts. -->
<!-- ===================================================================== -->
<target name="postGenerate">
<antcall target="clean" />
</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">
<taskdef resource="net/sf/antcontrib/antlib.xml"
classpath="${builder}/../lib/ant/ant-contrib-1.0b3.jar" />
<property file="${builder}/common.properties" />
<property name="build.output.directory"
value="${buildDirectory}/tmp/edex" />
<mkdir dir="${builder}/postBuild/${edex.root.directory}/data" />
<copy todir="${builder}/postBuild/${edex.root.directory}/data">
<fileset dir="${build.output.directory}/data">
<include name="utility/**" />
</fileset>
</copy>
<mkdir dir="${builder}/postBuild/${edex.root.directory}/conf" />
<copy todir="${builder}/postBuild/${edex.root.directory}/conf">
<fileset dir="${build.output.directory}/conf">
<include name="resources/**" />
</fileset>
</copy>
<!-- special rule for cots -->
<if>
<not>
<equals arg1="${topLevelElementId}"
arg2="com.raytheon.uf.edex.cots.feature" />
</not>
<then>
<mkdir dir="${builder}/postBuild/${edex.root.directory}/lib" />
<copy todir="${builder}/postBuild/${edex.root.directory}/lib">
<fileset dir="${build.output.directory}">
<include name="plugins/**" />
</fileset>
</copy>
<move todir="${builder}/postBuild/${edex.root.directory}/lib">
<fileset dir="${builder}/postBuild/${edex.root.directory}/lib">
<include name="**/*.jar" />
</fileset>
<mapper type="regexp" from="^(.*)_(.*).jar" to="\1.jar" />
</move>
</then>
</if>
<!-- copy the dependency stash -->
<mkdir
dir="${builder}/postBuild/${edex.root.directory}/lib/dependencies" />
<copy todir="${builder}/postBuild/${edex.root.directory}/lib/dependencies">
<fileset dir="${builder}/dependencies-stash">
<include name="*/**" />
</fileset>
</copy>
<delete includeemptydirs="true">
<fileset dir="${builder}"
includes="dependencies-stash/**" />
</delete>
<!-- manipulate the topLevelElementId - the feature -->
<propertyregex property="edex.component"
override="true"
input="${topLevelElementId}"
regexp="\."
replace="-" />
<propertyregex property="edex.component"
override="true"
input="${edex.component}"
regexp="com-raytheon-uf-(.+)-feature"
select="\1" />
<!-- Create the distribution directory. -->
<mkdir dir="${builder}/dist" />
<zip destfile="${builder}/dist/${edex.component}.zip"
basedir="${builder}/postBuild"
includes="*/**">
</zip>
<delete includeemptydirs="true">
<fileset dir="${build.output.directory}">
<include name="**/**"/>
</fileset>
</delete>
<delete includeemptydirs="true">
<fileset dir="${builder}/postBuild">
<include name="**/**"/>
</fileset>
</delete>
</target>
<!-- ===================================================================== -->
<!-- Steps to do to test the build results -->
<!-- ===================================================================== -->
<target name="test">
</target>
<target name="checkJUnitTestResults">
</target>
<!-- ===================================================================== -->
<!-- Steps to do to publish the build results -->
<!-- ===================================================================== -->
<target name="publish">
</target>
<!-- ===================================================================== -->
<!-- Default target -->
<!-- ===================================================================== -->
<target name="noDefault">
<echo message="You must specify a target when invoking this file" />
</target>
</project>