awips2/edexOsgi/build.edex/deploy-install.xml
Steve Harris e8f4a2f031 13.1.2-2 baseline
Former-commit-id: 4ba416aeb3 [formerly c0c1d56f3a [formerly 221d0aaf0e19a054387134e72a76a278159bf4d0]]
Former-commit-id: c0c1d56f3a
Former-commit-id: 51208e5515
2013-01-06 14:32:24 -06:00

271 lines
No EOL
7.8 KiB
XML

<project default="main" basedir=".">
<!-- import -->
<import file="${basedir}/deploy-common/deploy-init.xml" />
<import file="${basedir}/deploy-common/deploy-setup.xml" />
<import file="${basedir}/deploy-common/plugin-methods.xml" />
<!-- public static final -->
<path id="ant.classpath">
<fileset dir="${basedir}/lib/ant">
<include name="*.jar" />
</fileset>
</path>
<property name="esb.directory" value="${basedir}/esb" />
<target name="main" depends="init, setup">
<!-- deploy esb {optionally: data, web} -->
<ant antfile="${basedir}/deploy-common/deploy-esb.xml" />
<!-- deploy esb configuration -->
<ant antfile="${basedir}/deploy-common/deploy-esb-configuration.xml" />
<!-- optionally: deploy gfesuite -->
<if>
<equals arg1="${deploy.gfesuite}" arg2="true" />
<then>
<ant antfile="${basedir}/deploy-common/deploy-gfesuite.xml" />
</then>
</if>
<!-- deploy edex plugins -->
<!-- which feature do we want to deploy? -->
<if>
<isset property="wa.enabled" />
<then>
<!--
Find the feature associated with
Work Assignments.
-->
<var name="feature.to.find"
value="${wa.edex.feature}" />
</then>
<else>
<!--
Find the standard AWIPS II
Baseline feature.
-->
<var name="feature.to.find"
value="${edex.feature}" />
</else>
</if>
<var name="feature" value="" />
<!--
find the feature file: we may deploy multiple features
if multiple Work Assignment directories have been
specified.
-->
<for list="${basedirectories}" param="directory"
delimiter=";">
<sequential>
<if>
<available file="@{directory}/${feature.to.find}" />
<then>
<var name="feature"
value="@{directory}/${feature.to.find}" />
<deploy.feature
feature="${feature}" />
</then>
</if>
</sequential>
</for>
<!-- optionally: deploy raytheon python -->
<if>
<equals arg1="${deploy.python}" arg2="true" />
<then>
<antcall target="deploy.python" />
</then>
</if>
<!-- optionally: deploy site localization -->
<if>
<not>
<equals arg1="${localization.sites}" arg2="" />
</not>
<then>
<antcall target="deploy.localization" />
</then>
</if>
<!--
Search for WA-specific Non-Spring
Web Applications to deploy.
-->
<if>
<isset property="wa.enabled" />
<then>
<for list="${wa.to.deploy}" param="wa"
delimiter="${path.separator}">
<sequential>
<if>
<available file="@{wa}/edexOsgi/build.edex/wa-build.xml"
type="file" />
<then>
<ant
antfile="@{wa}/edexOsgi/build.edex/wa-build.xml"
inheritall="true" inheritrefs="true"/>
</then>
</if>
</sequential>
</for>
</then>
</if>
</target>
<!-- public -->
<!-- Targets specific to the developer deployment. -->
<macrodef name="deploy.feature">
<attribute name="feature" />
<sequential>
<!-- prepare to run includegen -->
<var name="includes.directory" value="${basedir}/tmp/includes" />
<if>
<available file="${includes.directory}" type="dir" />
<then>
<delete verbose="true" includeemptydirs="true">
<fileset dir="${includes.directory}"
includes="*/**" />
</delete>
</then>
</if>
<mkdir dir="${includes.directory}" />
<!-- run includegen -->
<echo message="Generating deployment list for feature: ${feature}" />
<!--
TODO: need to update the includegen ant task to recognize
plugin architecture restrictions. Plugins that should only
be deployed for a 64-bit system should not be deployed for
a 32-bit system, etc.
-->
<includegen providerfilter="${includegen.filter}"
basedirectories="${basedirectories}"
featurefile="${feature}"
cotsout="${includes.directory}/cots.includes"
plugsout="${includes.directory}/plugins.includes"
coreout="${includes.directory}/core.includes" />
<var name="destination.directory"
value="${edex.root.directory}/lib/plugins" />
<mkdir dir="${destination.directory}" />
<processPlugins
includes.file="${includes.directory}/plugins.includes"
plugin.type="plugins"
plugin.directories="${basedirectories}"
destination.directory="${destination.directory}" />
<processPlugins
includes.file="${includes.directory}/core.includes"
plugin.type="core"
plugin.directories="${basedirectories}"
destination.directory="${destination.directory}" />
<var name="destination.directory"
value="${edex.root.directory}/lib/dependencies" />
<mkdir dir="${destination.directory}" />
<processPlugins
includes.file="${includes.directory}/cots.includes"
plugin.type="cots"
plugin.directories="${basedirectories}"
destination.directory="${destination.directory}" />
<!-- cleanup the temporary directories -->
<if>
<available file="${basedir}/tmp"
type="dir" />
<then>
<delete includeemptydirs="true">
<fileset dir="${basedir}"
includes="tmp/**" />
</delete>
</then>
</if>
</sequential>
</macrodef>
<target name="deploy.python">
<property name="site-package.directory"
value="${python.root.directory}/lib/${python.version.dir}/site-packages" />
<echo message="Deploying the Raytheon python site-packages." />
<deploy.python.site-package
site.package="ufpy" />
<deploy.python.site-package
site.package="dynamicserialize" />
<deploy.python.site-package
site.package="pypies" />
</target>
<target name="deploy.localization">
<for list="${localization.sites}" param="site"
delimiter="${path.separator}">
<sequential>
<echo message="Deploying localization for site: @{site}" />
<!-- determine which directory the localization
project should be in. -->
<var name="localization.path" value="" />
<if>
<available file="${awips.baseline.directory}/localization.@{site}"
type="dir" />
<then>
<var name="localization.path"
value="${awips.baseline.directory}/localization.@{site}" />
</then>
<else>
<var name="localization.path"
value="${awips.baseline.directory}/${localization.directory}/localization.@{site}" />
</else>
</if>
<!-- copy the localization files. -->
<copy todir="${edex.root.directory}/data/utility"
overwrite="true">
<fileset dir="${localization.path}/utility"
includes="*/**" />
</copy>
</sequential>
</for>
</target>
<!-- private -->
<macrodef name="deploy.python.site-package">
<attribute name="site.package" />
<sequential>
<echo message="Deploying @{site.package} ..." />
<if>
<available file="${site-package.directory}/@{site.package}"
type="dir" />
<then>
<delete dir="${site-package.directory}/@{site.package}"
includeemptydirs="true">
<fileset dir="${site-package.directory}"
includes="@{site.package}/**" />
</delete>
</then>
</if>
<if>
<equals arg1="@{site.package}" arg2="pypies" />
<then>
<!-- custom rule for pypies due to alternate directory layout -->
<copy todir="${site-package.directory}">
<fileset dir="${awips.baseline.directory}/pythonPackages/pypies"
includes="@{site.package}/**" />
</copy>
</then>
<else>
<copy todir="${site-package.directory}">
<fileset dir="${awips.baseline.directory}/pythonPackages"
includes="@{site.package}/**" />
</copy>
</else>
</if>
</sequential>
</macrodef>
<!-- static -->
<taskdef name="includegen"
classname="com.raytheon.uf.anttasks.includesgen.GenerateIncludesFromFeature"
classpathref="ant.classpath" />
<taskdef resource="net/sf/antcontrib/antlib.xml"
classpath="${basedir}/lib/ant/ant-contrib-1.0b3.jar" />
</project>