518 lines
16 KiB
XML
518 lines
16 KiB
XML
<project default="main" basedir=".">
|
|
|
|
<!-- TODO: Verify These Properties References An Actual Directory. -->
|
|
<property name="eclipse.dir"
|
|
value="/opt/uframe-eclipse" />
|
|
<property name="build.version"
|
|
value="1.0.0" />
|
|
<property name="build.os"
|
|
value="linux" />
|
|
<property name="build.ws"
|
|
value="gtk" />
|
|
<property name="build.arch"
|
|
value="x86" />
|
|
<property name="workspace.dir" value="${basedir}/../" />
|
|
|
|
<property name="pde.build.script"
|
|
value="org.eclipse.pde.build_3.8.2.v20121114-140810/scripts/build.xml" />
|
|
<property name="eclipse.launcher.jar"
|
|
value="org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar" />
|
|
|
|
<!-- Verify That We Have Access To A Copy Of Eclipse -->
|
|
<target name="verify">
|
|
</target>
|
|
|
|
<!-- Creates The Temporary Directories That We Will Need To Build
|
|
The P2 Repositories. -->
|
|
<target name="init" depends="verify">
|
|
<!-- We Will Use A Temporary p2 Directory And Leave The
|
|
cave/tmp Directory For The Original PDE Build. -->
|
|
<mkdir dir="${basedir}/cave/p2" />
|
|
|
|
<!-- Copy The P2 Build build.properties File. -->
|
|
<copy tofile="${basedir}/cave/p2/build.properties"
|
|
file="${basedir}/build.properties.p2" verbose="true" />
|
|
|
|
<!-- We Will Copy The Plugins Here Eventually. -->
|
|
<mkdir dir="${basedir}/cave/p2/plugins" />
|
|
<!-- We Will Copy The Features Here Eventually. -->
|
|
<mkdir dir="${basedir}/cave/p2/features" />
|
|
|
|
<mkdir dir="${basedir}/cave/p2/repository" />
|
|
<mkdir dir="${basedir}/cave/p2/dist" />
|
|
|
|
<!-- BEGIN: Copy The Plugins -->
|
|
<echo message="PLUGINS: com.*/**" />
|
|
<copy todir="${basedir}/cave/p2/plugins">
|
|
<fileset dir="${workspace.dir}"
|
|
includes="com.*/**" />
|
|
</copy>
|
|
|
|
<echo message="PLUGINS: ucar.*/**" />
|
|
<copy todir="${basedir}/cave/p2/plugins">
|
|
<fileset dir="${workspace.dir}"
|
|
includes="ucar.*/**" />
|
|
</copy>
|
|
|
|
<echo message="PLUGINS: *.feature*/**" />
|
|
<copy todir="${basedir}/cave/p2/plugins">
|
|
<fileset dir="${workspace.dir}"
|
|
includes="*.feature*/**" />
|
|
</copy>
|
|
|
|
<echo message="PLUGINS: ncsa.*/**" />
|
|
<copy todir="${basedir}/cave/p2/plugins">
|
|
<fileset dir="${workspace.dir}"
|
|
includes="ncsa.*/**" />
|
|
</copy>
|
|
|
|
<echo message="PLUGINS: org.*/**" />
|
|
<copy todir="${basedir}/cave/p2/plugins">
|
|
<fileset dir="${workspace.dir}"
|
|
includes="org.*/**" />
|
|
</copy>
|
|
|
|
<echo message="PLUGINS: net.*/**" />
|
|
<copy todir="${basedir}/cave/p2/plugins">
|
|
<fileset dir="${workspace.dir}"
|
|
includes="net.*/**" />
|
|
</copy>
|
|
|
|
<echo message="PLUGINS: ohd*/**" />
|
|
<copy todir="${basedir}/cave/p2/plugins">
|
|
<fileset dir="${workspace.dir}"
|
|
includes="ohd*/**" />
|
|
</copy>
|
|
|
|
<echo message="PLUGINS: javax.*/**" />
|
|
<copy todir="${basedir}/cave/p2/plugins">
|
|
<fileset dir="${workspace.dir}"
|
|
includes="javax.*/**" />
|
|
</copy>
|
|
|
|
<echo message="PLUGINS: gov.*/**" />
|
|
<copy todir="${basedir}/cave/p2/plugins">
|
|
<fileset dir="${workspace.dir}"
|
|
includes="gov.*/**" />
|
|
</copy>
|
|
|
|
<echo message="PLUGINS: edu.*/**" />
|
|
<copy todir="${basedir}/cave/p2/plugins">
|
|
<fileset dir="${workspace.dir}"
|
|
includes="edu.*/**" />
|
|
</copy>
|
|
|
|
<echo message="PLUGINS: de.*/**" />
|
|
<copy todir="${basedir}/cave/p2/plugins">
|
|
<fileset dir="${workspace.dir}"
|
|
includes="de.*/**" />
|
|
</copy>
|
|
|
|
<echo message="PLUGINS: it.*/**" />
|
|
<copy todir="${basedir}/cave/p2/plugins">
|
|
<fileset dir="${workspace.dir}"
|
|
includes="it.*/**" />
|
|
</copy>
|
|
|
|
<echo message="PLUGINS: ch.*/**" />
|
|
<copy todir="${basedir}/cave/p2/plugins">
|
|
<fileset dir="${workspace.dir}"
|
|
includes="ch.*/**" />
|
|
</copy>
|
|
|
|
<!-- END: Copy The Plugins -->
|
|
</target>
|
|
|
|
<!-- Cleans Up Any Temporary Directories -->
|
|
<target name="clean">
|
|
<if>
|
|
<available file="${basedir}/cave/p2" type="dir" />
|
|
<then>
|
|
<delete includeemptydirs="true">
|
|
<fileset dir="${basedir}/cave/p2" />
|
|
</delete>
|
|
</then>
|
|
</if>
|
|
</target>
|
|
|
|
<tstamp>
|
|
<format property="build.timestamp"
|
|
pattern="yyyyMMddHHmm" />
|
|
</tstamp>
|
|
|
|
<target name="p2.build" depends="clean, init">
|
|
<!-- We Need To Build The p2 Repos In A Certain Order Due To
|
|
Dependencies. -->
|
|
|
|
<!-- copy the com.raytheon.uf.viz.application.feature feature.
|
|
Used by the com.raytheon.viz.feature.awips feature. -->
|
|
<copy todir="${basedir}/cave/p2/features" verbose="true">
|
|
<fileset dir="${workspace.dir}"
|
|
includes="com.raytheon.uf.viz.application.feature/**" />
|
|
</copy>
|
|
<antcall target="p2.build.repo">
|
|
<param name="feature"
|
|
value="com.raytheon.viz.feature.awips" />
|
|
<param name="omit"
|
|
value="true" />
|
|
</antcall>
|
|
<!--
|
|
we will still build this for the MSFT Windows CAVE.
|
|
-->
|
|
<antcall target="p2.build.repo">
|
|
<param name="feature"
|
|
value="com.raytheon.uf.common.base.feature" />
|
|
</antcall>
|
|
<antcall target="p2.build.repo">
|
|
<param name="feature"
|
|
value="com.raytheon.uf.viz.base.feature" />
|
|
</antcall>
|
|
<antcall target="p2.build.repo">
|
|
<param name="feature"
|
|
value="com.raytheon.uf.viz.cots.feature" />
|
|
</antcall>
|
|
<antcall target="p2.build.repo">
|
|
<param name="feature"
|
|
value="com.raytheon.uf.viz.common.core.feature" />
|
|
</antcall>
|
|
<antcall target="p2.build.repo">
|
|
<param name="feature"
|
|
value="com.raytheon.uf.viz.localization.perspective.feature" />
|
|
</antcall>
|
|
<antcall target="p2.build.repo">
|
|
<param name="feature"
|
|
value="com.raytheon.uf.viz.core.feature" />
|
|
</antcall>
|
|
<antcall target="p2.build.repo">
|
|
<param name="feature"
|
|
value="com.raytheon.uf.viz.core.maps.feature" />
|
|
</antcall>
|
|
<antcall target="p2.build.repo">
|
|
<param name="feature"
|
|
value="com.raytheon.uf.viz.sounding.feature" />
|
|
</antcall>
|
|
<antcall target="p2.build.repo">
|
|
<param name="feature"
|
|
value="com.raytheon.uf.viz.dataplugin.obs.feature" />
|
|
</antcall>
|
|
<antcall target="p2.build.repo">
|
|
<param name="feature"
|
|
value="com.raytheon.uf.viz.dataplugins.feature" />
|
|
</antcall>
|
|
<antcall target="p2.build.repo">
|
|
<param name="feature"
|
|
value="com.raytheon.uf.viz.d2d.core.feature" />
|
|
</antcall>
|
|
<antcall target="p2.build.repo">
|
|
<param name="feature"
|
|
value="com.raytheon.viz.radar.feature" />
|
|
</antcall>
|
|
<antcall target="p2.build.repo">
|
|
<param name="feature"
|
|
value="com.raytheon.viz.text.feature" />
|
|
</antcall>
|
|
<antcall target="p2.build.repo">
|
|
<param name="feature"
|
|
value="com.raytheon.viz.warngen.feature" />
|
|
</antcall>
|
|
<antcall target="p2.build.repo">
|
|
<param name="feature"
|
|
value="com.raytheon.viz.grib.feature" />
|
|
</antcall>
|
|
<antcall target="p2.build.repo">
|
|
<param name="feature"
|
|
value="com.raytheon.uf.viz.kml.export.feature" />
|
|
</antcall>
|
|
<antcall target="p2.build.repo">
|
|
<param name="feature"
|
|
value="com.raytheon.viz.gfe.feature" />
|
|
</antcall>
|
|
<antcall target="p2.build.repo">
|
|
<param name="feature"
|
|
value="com.raytheon.uf.viz.displays.feature" />
|
|
</antcall>
|
|
<antcall target="p2.build.repo">
|
|
<param name="feature"
|
|
value="com.raytheon.viz.satellite.feature" />
|
|
</antcall>
|
|
<antcall target="p2.build.repo">
|
|
<param name="feature"
|
|
value="com.raytheon.uf.viz.ncep.core.feature" />
|
|
</antcall>
|
|
<antcall target="p2.build.repo">
|
|
<param name="feature"
|
|
value="com.raytheon.uf.viz.ncep.dataplugins.feature" />
|
|
</antcall>
|
|
<antcall target="p2.build.repo">
|
|
<param name="feature"
|
|
value="com.raytheon.viz.hydro.feature" />
|
|
</antcall>
|
|
<antcall target="p2.build.repo">
|
|
<param name="feature"
|
|
value="com.raytheon.uf.viz.d2d.xy.feature" />
|
|
</antcall>
|
|
<antcall target="p2.build.repo">
|
|
<param name="feature"
|
|
value="com.raytheon.uf.viz.ncep.displays.feature" />
|
|
</antcall>
|
|
<antcall target="p2.build.repo">
|
|
<param name="feature"
|
|
value="com.raytheon.uf.viz.ncep.nsharp.feature" />
|
|
</antcall>
|
|
<antcall target="p2.build.repo">
|
|
<param name="feature"
|
|
value="com.raytheon.uf.viz.d2d.nsharp.feature" />
|
|
</antcall>
|
|
<antcall target="p2.build.repo">
|
|
<param name="feature"
|
|
value="com.raytheon.uf.viz.archive.feature" />
|
|
</antcall>
|
|
<antcall target="p2.build.repo">
|
|
<param name="feature"
|
|
value="com.raytheon.uf.viz.ncep.perspective.feature" />
|
|
</antcall>
|
|
<antcall target="p2.build.repo">
|
|
<param name="feature"
|
|
value="com.raytheon.uf.viz.nwsauth.feature" />
|
|
</antcall>
|
|
<antcall target="p2.build.repo">
|
|
<param name="feature"
|
|
value="com.raytheon.uf.viz.thinclient.feature" />
|
|
</antcall>
|
|
<antcall target="p2.build.repo">
|
|
<param name="feature"
|
|
value="com.raytheon.uf.viz.datadelivery.feature" />
|
|
</antcall>
|
|
<antcall target="p2.build.repo">
|
|
<param name="feature"
|
|
value="com.raytheon.uf.viz.useradmin.feature" />
|
|
</antcall>
|
|
<antcall target="p2.build.repo">
|
|
<param name="feature"
|
|
value="com.raytheon.uf.viz.npp.feature" />
|
|
</antcall>
|
|
<antcall target="p2.build.repo">
|
|
<param name="feature"
|
|
value="com.raytheon.uf.viz.d2d.skewt.feature" />
|
|
</antcall>
|
|
<antcall target="p2.build.repo">
|
|
<param name="feature"
|
|
value="com.raytheon.viz.volumebrowser.feature" />
|
|
</antcall>
|
|
<antcall target="p2.build.repo">
|
|
<param name="feature"
|
|
value="com.raytheon.uf.viz.acarssounding.feature" />
|
|
</antcall>
|
|
<antcall target="p2.build.repo">
|
|
<param name="feature"
|
|
value="com.raytheon.viz.avnfps.feature" />
|
|
</antcall>
|
|
<antcall target="p2.build.repo">
|
|
<param name="feature"
|
|
value="com.raytheon.uf.viz.dat.feature" />
|
|
</antcall>
|
|
<antcall target="p2.build.repo">
|
|
<param name="feature"
|
|
value="com.raytheon.uf.viz.d2d.gfe.feature" />
|
|
</antcall>
|
|
<antcall target="p2.build.repo">
|
|
<param name="feature"
|
|
value="com.raytheon.uf.viz.collaboration.feature" />
|
|
</antcall>
|
|
<antcall target="p2.build.repo">
|
|
<param name="feature"
|
|
value="com.raytheon.uf.viz.gisdatastore.feature" />
|
|
</antcall>
|
|
<antcall target="p2.build.repo">
|
|
<param name="feature"
|
|
value="com.raytheon.viz.dataaccess.feature" />
|
|
</antcall>
|
|
<antcall target="p2.build.repo">
|
|
<param name="feature"
|
|
value="com.raytheon.uf.viz.d2d.ui.awips.feature" />
|
|
</antcall>
|
|
|
|
<antcall target="cleanup.features" />
|
|
</target>
|
|
|
|
<target name="wa-build" depends="p2.build" description="Builds work assignment specific features after the main build">
|
|
<for param="wa.feature.list.file">
|
|
<fileset dir="${basedir}" includes="*-wa-build.properties" />
|
|
<sequential>
|
|
<var name="wa.features" unset="true" />
|
|
<property file="@{wa.feature.list.file}" />
|
|
<for list="${wa.features}" param="wa.feature">
|
|
<sequential>
|
|
<antcall target="p2.build.repo">
|
|
<param name="feature" value="@{wa.feature}" />
|
|
</antcall>
|
|
</sequential>
|
|
</for>
|
|
</sequential>
|
|
</for>
|
|
</target>
|
|
|
|
<target name="main" depends="clean, p2.build, wa-build" />
|
|
|
|
<target name="p2.build.repo">
|
|
<!-- Copy The Feature -->
|
|
<copy todir="${basedir}/cave/p2/features">
|
|
<fileset dir="${workspace.dir}"
|
|
includes="${feature}/**" />
|
|
</copy>
|
|
|
|
<!-- Update The Feature -->
|
|
<property name="process.feature.tool"
|
|
value="${workspace.dir}/build/tools/ProcessFeature.jar" />
|
|
<java
|
|
jar="${process.feature.tool}"
|
|
fork="true"
|
|
failonerror="false"
|
|
resultproperty="feature.tool.exitcode">
|
|
|
|
<arg value="-u" />
|
|
<arg value="${basedir}/cave/p2/features/${feature}" />
|
|
<arg value="${build.version}" />
|
|
</java>
|
|
<if>
|
|
<equals arg1="${feature.tool.exitcode}"
|
|
arg2="255" />
|
|
<then>
|
|
<fail message="${process.feature.tool} FAILED." />
|
|
</then>
|
|
</if>
|
|
|
|
|
|
<!-- Build The Repository -->
|
|
<java
|
|
classname="org.eclipse.core.launcher.Main"
|
|
fork="true"
|
|
failonerror="true">
|
|
|
|
<arg value="-application" />
|
|
<arg value="org.eclipse.ant.core.antRunner" />
|
|
<arg value="-buildfile" />
|
|
<arg value="${eclipse.dir}/plugins/${pde.build.script}" />
|
|
<arg value="-Dbuilder=${basedir}/cave/p2" />
|
|
<arg value="-DbuildDirectory=${basedir}/cave/p2" />
|
|
<arg value="-DbaseLocation=${eclipse.dir}" />
|
|
<arg value="-DtopLevelElementId=${feature}" />
|
|
<arg value="-DforceContextQualifier=${build.timestamp}" />
|
|
<arg value="-Dconfigs=${build.os},${build.ws},${build.arch}" />
|
|
|
|
<classpath>
|
|
<pathelement
|
|
location="${eclipse.dir}/plugins/${eclipse.launcher.jar}" />
|
|
</classpath>
|
|
</java>
|
|
|
|
<!-- Record that the feature has been built (for now) -->
|
|
<if>
|
|
<not>
|
|
<isset property="omit" />
|
|
</not>
|
|
<then>
|
|
<echo message="${feature}${line.separator}"
|
|
file="${basedir}/cave/p2/dist/features.txt"
|
|
append="true" />
|
|
</then>
|
|
</if>
|
|
|
|
<!-- Package The Repository -->
|
|
<zip
|
|
destfile="${basedir}/cave/p2/dist/${feature}-repo-${build.os}.${build.arch}.zip"
|
|
basedir="${basedir}/cave/p2/repository" />
|
|
|
|
<!-- Cleanup The Current Build -->
|
|
<if>
|
|
<available file="${basedir}/cave/p2/I.CAVE" type="dir" />
|
|
<then>
|
|
<delete includeemptydirs="true">
|
|
<fileset dir="${basedir}/cave/p2/I.CAVE" />
|
|
</delete>
|
|
</then>
|
|
</if>
|
|
<if>
|
|
<available file="${basedir}/cave/p2/repository" type="dir" />
|
|
<then>
|
|
<delete includeemptydirs="true">
|
|
<fileset dir="${basedir}/cave/p2/repository" />
|
|
</delete>
|
|
</then>
|
|
</if>
|
|
<mkdir dir="${basedir}/cave/p2/repository" />
|
|
</target>
|
|
|
|
<target name="cleanup.features">
|
|
<!-- Remove 'com.raytheon.viz.feature.awips' -->
|
|
<if>
|
|
<available
|
|
file="${basedir}/cave/p2/features/com.raytheon.viz.feature.awips"
|
|
type="dir" />
|
|
<then>
|
|
<delete includeemptydirs="true">
|
|
<fileset
|
|
dir="${basedir}/cave/p2/features/com.raytheon.viz.feature.awips"
|
|
/>
|
|
</delete>
|
|
</then>
|
|
</if>
|
|
|
|
<!-- Remove 'com.raytheon.uf.viz.feature.alertviz' -->
|
|
<if>
|
|
<available
|
|
file="${basedir}/cave/p2/features/com.raytheon.uf.viz.feature.alertviz"
|
|
type="dir" />
|
|
<then>
|
|
<delete includeemptydirs="true">
|
|
<fileset
|
|
dir="${basedir}/cave/p2/features/com.raytheon.uf.viz.feature.alertviz"
|
|
/>
|
|
</delete>
|
|
</then>
|
|
</if>
|
|
|
|
<!-- Remove 'com.raytheon.viz.feature.awips.developer' -->
|
|
<if>
|
|
<available
|
|
file="${basedir}/cave/p2/features/com.raytheon.viz.feature.awips.developer"
|
|
type="dir" />
|
|
<then>
|
|
<delete includeemptydirs="true">
|
|
<fileset
|
|
dir="${basedir}/cave/p2/features/com.raytheon.viz.feature.awips.developer"
|
|
/>
|
|
</delete>
|
|
</then>
|
|
</if>
|
|
<!-- Remove 'com.raytheon.uf.common.base.feature' -->
|
|
<if>
|
|
<available
|
|
file="${basedir}/cave/p2/features/com.raytheon.uf.common.base.feature"
|
|
type="dir" />
|
|
<then>
|
|
<delete includeemptydirs="true">
|
|
<fileset
|
|
dir="${basedir}/cave/p2/features/com.raytheon.uf.common.base.feature"
|
|
/>
|
|
</delete>
|
|
</then>
|
|
</if>
|
|
<!-- Remove 'com.raytheon.uf.viz.collaboration.product.feature' -->
|
|
<if>
|
|
<available
|
|
file="${basedir}/cave/p2/features/com.raytheon.uf.viz.collaboration.product.feature"
|
|
type="dir" />
|
|
<then>
|
|
<delete includeemptydirs="true">
|
|
<fileset
|
|
dir="${basedir}/cave/p2/features/com.raytheon.uf.viz.collaboration.product.feature"
|
|
/>
|
|
</delete>
|
|
</then>
|
|
</if>
|
|
</target>
|
|
|
|
<taskdef resource="net/sf/antcontrib/antlib.xml"
|
|
classpath="${basedir}/lib/ant/ant-contrib-1.0b3.jar" />
|
|
</project>
|