725 lines
No EOL
22 KiB
XML
725 lines
No EOL
22 KiB
XML
<!DOCTYPE project [
|
|
<!ENTITY substitute-targets SYSTEM "substitute.xml">
|
|
]>
|
|
|
|
<project default="deploy.all" basedir=".">
|
|
<property environment="user" />
|
|
<property name="component.to.deploy" value="" />
|
|
<property name="update.python" value="true" />
|
|
<property name="localization.sites" value="" />
|
|
<property name="python.version.dir" value="python2.7" />
|
|
|
|
<property name="native.target" value="i386-pc-linux-gnu" />
|
|
<property name="props.dir" location="${basedir}/properties" />
|
|
<property name="component-includes.dir"
|
|
location="rpm/component/edex/includes" />
|
|
|
|
|
|
<available file="${basedir}/tmp" property="tmp.ready" />
|
|
|
|
<condition property="pde.not.ready">
|
|
<and>
|
|
<isset property="pde.build" />
|
|
<not>
|
|
<isset property="tmp.ready" />
|
|
</not>
|
|
</and>
|
|
</condition>
|
|
|
|
<property name="lib.dir" value="${basedir}/lib" />
|
|
|
|
<!-- deploys everything -->
|
|
<target name="deploy.all" depends="define">
|
|
<tstamp>
|
|
<format property="build.date"
|
|
pattern="MM/dd/yyyy" />
|
|
<format property="build.time"
|
|
pattern="HH:mm:ss.S z" />
|
|
</tstamp>
|
|
<exec executable="hostname"
|
|
outputproperty="build.system"/>
|
|
|
|
<echo message="BUILD DATE = ${build.date}" />
|
|
<echo message="BUILD TIME = ${build.time}" />
|
|
<echo message="BUILD SYSTEM = ${build.system}" />
|
|
<var name="projects.dir" value="../" />
|
|
|
|
<for param="propFile">
|
|
<path id="propertyset">
|
|
<fileset dir="${props.dir}">
|
|
<include name="**/*.properties" />
|
|
</fileset>
|
|
</path>
|
|
|
|
<sequential>
|
|
<var file="@{propFile}" />
|
|
<!-- directory in which projects are located -->
|
|
<if>
|
|
<equals arg1="${local.build}" arg2="true" />
|
|
<then>
|
|
<var name="projects.dir" value="${basedir}/.." />
|
|
</then>
|
|
<else>
|
|
<if>
|
|
<equals arg1="${installer}" arg2="true" />
|
|
<then>
|
|
<var name="projects.dir" value="${working.dir}" />
|
|
</then>
|
|
<else>
|
|
<var name="projects.dir" value="${basedir}/.." />
|
|
</else>
|
|
</if>
|
|
</else>
|
|
</if>
|
|
<echo message="working dir: ${working.dir}" />
|
|
<echo message="projects.dir: ${projects.dir}" />
|
|
|
|
<property name="includes.dir" location="${basedir}/tmp/includes" />
|
|
<mkdir dir="${includes.dir}" />
|
|
<!-- directories in EDEX -->
|
|
<property name="dataDir" location="${esbDir}/data" />
|
|
<property name="utilDir" location="${dataDir}/utility" />
|
|
|
|
<fail message="cannot run pde deploy if pde build has not run" if="pde.not.ready" />
|
|
<antcall target="cleanup" />
|
|
|
|
<if>
|
|
<equals arg1="${installer}" arg2="true" />
|
|
<then>
|
|
<antcall target="deploy.for.installer" />
|
|
</then>
|
|
<else>
|
|
<antcall target="deploy.for.developer" />
|
|
</else>
|
|
</if>
|
|
</sequential>
|
|
</for>
|
|
</target>
|
|
|
|
<target name="cleanup">
|
|
<if>
|
|
<equals arg1="${installer}" arg2="true" />
|
|
<then>
|
|
<echo message="Cleaning target directory: ${esbDir}" />
|
|
<echo message=" Removing directory: ${esbDir}/../GFESuite" />
|
|
<delete quiet="true" includeemptydirs="true">
|
|
<fileset dir="${esbDir}" includes="**/*" />
|
|
</delete>
|
|
|
|
<available file="${esbDir}/../GFESuite" type="dir"
|
|
property="gfe.dir.exists" />
|
|
<if>
|
|
<equals arg1="${gfe.dir.exists}" arg2="true" />
|
|
<then>
|
|
<delete quiet="true" includeemptydirs="true">
|
|
<fileset dir="${esbDir}/../GFESuite" />
|
|
</delete>
|
|
</then>
|
|
</if>
|
|
</then>
|
|
<else>
|
|
<echo message="Cleaning target directory: ${esbDir}/lib/" />
|
|
|
|
<!-- delete all files under ${esbDir}/lib/ -->
|
|
<delete quiet="true">
|
|
<fileset dir="${esbDir}/lib/">
|
|
<include name="**" />
|
|
<exclude name="native/**" />
|
|
<exclude name="lib64/**" />
|
|
</fileset>
|
|
</delete>
|
|
|
|
<!-- delete the shell scripts from ${esbDir}/bin/ -->
|
|
<echo message="Cleaning target directory: ${esbDir}/bin/" />
|
|
<delete quiet="true">
|
|
<fileset dir="${esbDir}/bin/">
|
|
<include name="*.sh"/>
|
|
</fileset>
|
|
</delete>
|
|
|
|
<echo message="Cleaning target directory: ${esbDir}/conf" />
|
|
<delete quiet="true">
|
|
<fileset dir="${esbDir}/conf">
|
|
<include name="**" />
|
|
</fileset>
|
|
</delete>
|
|
</else>
|
|
</if>
|
|
</target>
|
|
|
|
<!-- =================================================================== -->
|
|
<!-- Developer Deployment Targets -->
|
|
<!-- =================================================================== -->
|
|
<target name="deploy.for.developer">
|
|
<echo message="Generating deployment list for feature: ${feature}" />
|
|
<includegen providerfilter="raytheon|noaa\.nws" basedirectory="${projects.dir}" featurefile="${feature}" cotsout="${includes.dir}/cots.includes" plugsout="${includes.dir}/plugins.includes" coreout="${includes.dir}/core.includes" />
|
|
|
|
<if>
|
|
<equals arg1="${update.python}" arg2="true" />
|
|
<then>
|
|
<antcall target="deploy.python" />
|
|
</then>
|
|
</if>
|
|
<antcall target="deploy.esb" />
|
|
<antcall target="deploy.esb.configuration" />
|
|
<antcall target="deploy.cots" />
|
|
<antcall target="deploy.plugins" />
|
|
<antcall target="deploy.core" />
|
|
<if>
|
|
<equals arg1="${localization.sites}" arg2="" />
|
|
<then>
|
|
<echo
|
|
message="WARNING: The localization files will not be deployed. No site(s) have been specified." />
|
|
</then>
|
|
<else>
|
|
<antcall target="deploy.localization" />
|
|
</else>
|
|
</if>
|
|
</target>
|
|
|
|
<!-- deploys core components to ${esbDir}/lib/plugins -->
|
|
<target name="deploy.core">
|
|
<subant failonerror="true" inheritAll="false" inheritRefs="false">
|
|
<fileset dir="${projects.dir}" includesfile="${includes.dir}/core.includes" excludes="com.raytheon.edex.plugin.*/component-deploy.xml" />
|
|
<target name="deploy" />
|
|
<property name="dest.dir" value="${esbDir}/lib/plugins" />
|
|
<!-- This following propetry turns on individual component utility deployment -->
|
|
<property name="util.dest.dir" location="${utilDir}" />
|
|
</subant>
|
|
</target>
|
|
|
|
<!-- deploy third party jars to ${esbDir}/lib/dependencies -->
|
|
<target name="deploy.cots">
|
|
|
|
<!-- OSGi cots that have their own projects -->
|
|
<copy todir="${esbDir}/lib/dependencies" flatten="false">
|
|
<fileset dir="${projects.dir}">
|
|
<includesfile name="${includes.dir}/cots.includes" />
|
|
</fileset>
|
|
</copy>
|
|
</target>
|
|
|
|
<!-- deploys plugins to ${esbDir}/lib/plugins -->
|
|
<target name="deploy.plugins">
|
|
<subant failonerror="true" inheritAll="false" inheritRefs="false">
|
|
<fileset dir="${projects.dir}" includesfile="${includes.dir}/plugins.includes" />
|
|
<target name="deploy" />
|
|
<property name="dest.dir" value="${esbDir}/lib/plugins" />
|
|
<!-- This following propetry turns on individual component utility deployment -->
|
|
<property name="util.dest.dir" location="${utilDir}" />
|
|
</subant>
|
|
</target>
|
|
|
|
<!-- deploy ufpy and dynamicserialize to awips2-python -->
|
|
<target name="deploy.python">
|
|
<!-- Ensure That The pythonPackages Project Is In The Workspace. -->
|
|
<if>
|
|
<available file="${basedir}/../pythonPackages/ufpy" type="dir" />
|
|
<then>
|
|
<!-- Continue -->
|
|
</then>
|
|
<else>
|
|
<fail message="pythonPackages/ufpy Does Not Exist In The Worskpace." />
|
|
</else>
|
|
</if>
|
|
|
|
<if>
|
|
<available file="${basedir}/../pythonPackages/dynamicserialize"
|
|
type="dir" />
|
|
<then>
|
|
<!-- Continue -->
|
|
</then>
|
|
<else>
|
|
<fail message="pythonPackages/dynamicserialize Does Not Exist In The Worskpace." />
|
|
</else>
|
|
</if>
|
|
|
|
<if>
|
|
<available file="${basedir}/../pythonPackages/pypies"
|
|
type="dir" />
|
|
<then>
|
|
<!-- Continue -->
|
|
</then>
|
|
<else>
|
|
<fail message="pythonPackages/pypies Does Not Exist In The Worskpace." />
|
|
</else>
|
|
</if>
|
|
|
|
<property name="python.installation.root"
|
|
value="/awips2/python" />
|
|
<echo message="python.installation.root=${python.installation.root}" />
|
|
<!-- Ensure That The Python Site-Packages Directory Exists. -->
|
|
<if>
|
|
<available file="${python.installation.root}/lib/${python.version.dir}/site-packages"
|
|
type="dir" />
|
|
<then>
|
|
<!-- Continue -->
|
|
</then>
|
|
<else>
|
|
<fail message="The Python site-packages Directory Was Not Found
|
|
Under ${python.installation.root}." />
|
|
</else>
|
|
</if>
|
|
|
|
<!-- Clear The Current ufpy, dynamicserialize, and pypies Directories -->
|
|
<if>
|
|
<available file="${python.installation.root}/lib/${python.version.dir}/site-packages/ufpy"
|
|
type="dir" />
|
|
<then>
|
|
<delete includeemptydirs="true">
|
|
<fileset
|
|
dir="${python.installation.root}/lib/${python.version.dir}/site-packages/ufpy" />
|
|
</delete>
|
|
</then>
|
|
</if>
|
|
|
|
<if>
|
|
<available file="${python.installation.root}/lib/${python.version.dir}/site-packages/dynamicserialize"
|
|
type="dir" />
|
|
<then>
|
|
<delete includeemptydirs="true">
|
|
<fileset
|
|
dir="${python.installation.root}/lib/${python.version.dir}/site-packages/dynamicserialize" />
|
|
</delete>
|
|
</then>
|
|
</if>
|
|
|
|
<if>
|
|
<available file="${python.installation.root}/lib/${python.version.dir}/site-packages/pypies"
|
|
type="dir" />
|
|
<then>
|
|
<delete includeemptydirs="true">
|
|
<fileset
|
|
dir="${python.installation.root}/lib/${python.version.dir}/site-packages/pypies" />
|
|
</delete>
|
|
</then>
|
|
</if>
|
|
|
|
<!-- Update ufpy, dynamicserialize, and pypies -->
|
|
<copy todir="${python.installation.root}/lib/${python.version.dir}/site-packages/ufpy"
|
|
flatten="false">
|
|
<fileset dir="${basedir}/../pythonPackages/ufpy" />
|
|
</copy>
|
|
|
|
<copy todir="${python.installation.root}/lib/${python.version.dir}/site-packages/dynamicserialize"
|
|
flatten="false">
|
|
<fileset dir="${basedir}/../pythonPackages/dynamicserialize" />
|
|
</copy>
|
|
|
|
<copy todir="${python.installation.root}/lib/${python.version.dir}/site-packages/pypies"
|
|
flatten="false">
|
|
<fileset dir="${basedir}/../pythonPackages/pypies/pypies" />
|
|
</copy>
|
|
</target>
|
|
|
|
<target name="deploy.localization">
|
|
<echo message="INFO: Purging existing site localization files." />
|
|
<!-- Delete existing site localization files in cave_static -->
|
|
<if>
|
|
<available file="${install.dir}/data/utility/cave_static/site"
|
|
type="dir" />
|
|
<then>
|
|
<trycatch>
|
|
<try>
|
|
<delete includeemptydirs="true" verbose="true">
|
|
<fileset
|
|
dir="${install.dir}/data/utility/cave_static/site" />
|
|
</delete>
|
|
</try>
|
|
|
|
<catch>
|
|
<fail
|
|
message="ERROR: Unable to delete the cave_static site localization files. Verify directory permissions." />
|
|
</catch>
|
|
</trycatch>
|
|
</then>
|
|
</if>
|
|
<!-- Delete existing site localization files in common_static -->
|
|
<if>
|
|
<available file="${install.dir}/data/utility/common_static/site"
|
|
type="dir" />
|
|
<then>
|
|
<trycatch>
|
|
<try>
|
|
<delete includeemptydirs="true" verbose="true">
|
|
<fileset
|
|
dir="${install.dir}/data/utility/common_static/site" />
|
|
</delete>
|
|
</try>
|
|
|
|
<catch>
|
|
<fail
|
|
message="ERROR: Unable to delete the common_static site localization files. Verify directory permissions." />
|
|
</catch>
|
|
</trycatch>
|
|
</then>
|
|
</if>
|
|
<!-- Delete existing site localization files in edex_static -->
|
|
<if>
|
|
<available file="${install.dir}/data/utility/edex_static/site"
|
|
type="dir" />
|
|
<then>
|
|
<trycatch>
|
|
<try>
|
|
<delete includeemptydirs="true" verbose="true">
|
|
<fileset
|
|
dir="${install.dir}/data/utility/edex_static/site" />
|
|
</delete>
|
|
</try>
|
|
|
|
<catch>
|
|
<fail
|
|
message="ERROR: Unable to delete the edex_static site localization files. Verify directory permissions." />
|
|
</catch>
|
|
</trycatch>
|
|
</then>
|
|
</if>
|
|
|
|
<echo message="INFO: Deploying Localization ..." />
|
|
<foreach param="site"
|
|
target="deploy.localization.site"
|
|
list="${localization.sites}"
|
|
delimiter=" " />
|
|
</target>
|
|
|
|
<target name="deploy.localization.site">
|
|
<!-- Ensure that the localization directory for the specified site exists
|
|
in the localization project. -->
|
|
<if>
|
|
<not>
|
|
<available file="${basedir}/../localization.${site}"
|
|
type="dir" />
|
|
</not>
|
|
<then>
|
|
<fail
|
|
message="ERROR: The localization files for site ${site} could not be found in the baseline." />
|
|
</then>
|
|
</if>
|
|
|
|
<echo message="INFO: Deploying Localization for Site: ${site}." />
|
|
<trycatch>
|
|
<try>
|
|
<copy todir="${install.dir}/data/utility"
|
|
flatten="false" verbose="true">
|
|
<fileset dir="${basedir}/../localization.${site}/utility" />
|
|
</copy>
|
|
</try>
|
|
|
|
<catch>
|
|
<fail
|
|
message="ERROR: Unable to copy the localization files for site ${site} to ${install.dir}/data/utility. Verify directory permissions." />
|
|
</catch>
|
|
</trycatch>
|
|
</target>
|
|
|
|
<!-- =================================================================== -->
|
|
<!-- Installer Deployment Targets -->
|
|
<!-- =================================================================== -->
|
|
<target name="deploy.for.installer">
|
|
<if>
|
|
<equals arg1="${component.to.deploy}" arg2="" />
|
|
<then>
|
|
<antcall target="deploy.esb" />
|
|
<antcall target="deploy.esb.configuration" />
|
|
<antcall target="deploy.edex-cots" />
|
|
<for param="dir">
|
|
<path>
|
|
<dirset dir="${component-includes.dir}"
|
|
includes="**/*" />
|
|
</path>
|
|
<sequential>
|
|
<echo message="DIR = @{dir}" />
|
|
<var name="current.component.dir"
|
|
value="@{dir}" />
|
|
<antcall target="process.manifest" />
|
|
|
|
<deploy.component
|
|
file.includes="${component-includes.dir}/component.includes" />
|
|
<delete
|
|
file="${component-includes.dir}/component.includes" />
|
|
</sequential>
|
|
</for>
|
|
</then>
|
|
<else>
|
|
<antcall target="deploy.single" />
|
|
</else>
|
|
</if>
|
|
</target>
|
|
|
|
<target name="deploy.single">
|
|
<if>
|
|
<equals arg1="${component.to.deploy}" arg2="edex-base" />
|
|
<then>
|
|
<antcall target="deploy.esb" />
|
|
</then>
|
|
<else>
|
|
<if>
|
|
<equals arg1="${component.to.deploy}" arg2="edex-configuration" />
|
|
<then>
|
|
<antcall target="deploy.esb.configuration" />
|
|
</then>
|
|
<else>
|
|
<if>
|
|
<equals arg1="${component.to.deploy}" arg2="edex-cots" />
|
|
<then>
|
|
<antcall target="deploy.edex-cots" />
|
|
</then>
|
|
<else>
|
|
<echo message="DIR = ${component-includes.dir}/${component.to.deploy}"/>
|
|
<var name="current.component.dir"
|
|
value="${component-includes.dir}/${component.to.deploy}" />
|
|
<antcall target="process.manifest" />
|
|
<deploy.component
|
|
file.includes="${component-includes.dir}/component.includes" />
|
|
<delete
|
|
file="${component-includes.dir}/component.includes" />
|
|
</else>
|
|
</if>
|
|
</else>
|
|
</if>
|
|
</else>
|
|
</if>
|
|
</target>
|
|
|
|
<target name="process.manifest">
|
|
<java jar="${basedir}/rpm/util/ProcessManifest.jar"
|
|
fork="true"
|
|
failonerror="true"
|
|
output="${component-includes.dir}/component.includes">
|
|
<arg
|
|
value="${current.component.dir}/MANIFEST.MF" />
|
|
</java>
|
|
</target>
|
|
|
|
<macrodef name="deploy.component">
|
|
<attribute name="file.includes" />
|
|
|
|
<sequential>
|
|
<copy file="@{file.includes}"
|
|
tofile="${includes.dir}/plugins.includes">
|
|
<filterchain>
|
|
<tokenfilter>
|
|
<replaceregex pattern="$"
|
|
replace="/component-deploy.xml" />
|
|
</tokenfilter>
|
|
</filterchain>
|
|
</copy>
|
|
|
|
<antcall target="deploy.plugins" />
|
|
<delete file="${includes.dir}/plugins.includes" />
|
|
</sequential>
|
|
</macrodef>
|
|
|
|
<target name="deploy.edex-cots">
|
|
<echo message="projects.dir=${projects.dir}" />
|
|
|
|
<includegen providerfilter="raytheon|noaa\.nws"
|
|
basedirectory="${projects.dir}"
|
|
featurefile="${feature}"
|
|
cotsout="${includes.dir}/cots.includes" />
|
|
|
|
<antcall target="deploy.cots" />
|
|
<delete file="${includes.dir}/cots.includes" />
|
|
</target>
|
|
|
|
<!-- =================================================================== -->
|
|
<!-- ESB Deployment Targets -->
|
|
<!-- =================================================================== -->
|
|
<!-- deploys contents of esb directory to various locations in EDEX -->
|
|
<target name="deploy.esb">
|
|
<echo>Staging esb files.</echo>
|
|
<if>
|
|
<equals arg1="${deploy.data}" arg2="true" />
|
|
<then>
|
|
<copy todir="${esbDir}" verbose="true">
|
|
<fileset dir="${basedir}/esb">
|
|
<exclude name="svcBackup/**" />
|
|
<exclude name="**/bin/setup.env" />
|
|
</fileset>
|
|
</copy>
|
|
</then>
|
|
<else>
|
|
<copy todir="${esbDir}" verbose="true">
|
|
<fileset dir="${basedir}/esb">
|
|
<exclude name="data/**" />
|
|
<exclude name="svcBackup/**" />
|
|
<exclude name="**/bin/setup.env" />
|
|
</fileset>
|
|
</copy>
|
|
</else>
|
|
</if>
|
|
|
|
<!-- Change permissions on the Linux start file -->
|
|
<chmod file="${esbDir}/bin/start.sh" perm="ugo+rx" />
|
|
<chmod file="${esbDir}/bin/linux-x86-32/wrapper" perm="ugo+rx" />
|
|
<chmod dir="${esbDir}/data" perm="775"
|
|
includes="**/*" verbose="true" type="both" />
|
|
|
|
<if>
|
|
<equals arg1="${deploy.web}" arg2="true" />
|
|
<then>
|
|
<!-- Deploy uEngineWeb -->
|
|
<deploy.war
|
|
web.project.dir="com.raytheon.edex.uengine"
|
|
war.name="uEngineWeb"
|
|
application.name="uengine"
|
|
component.list="
|
|
com.raytheon.edex.uengine/component-deploy.xml,
|
|
com.raytheon.edex.common/component-deploy.xml,
|
|
com.raytheon.uf.common.serialization/component-deploy.xml"
|
|
/>
|
|
|
|
<!-- Deploy purgeWeb -->
|
|
<deploy.war
|
|
web.project.dir="gov.noaa.nws.ncep.edex.purgeutil"
|
|
war.name="purgeWeb"
|
|
application.name="purge"
|
|
component.list="
|
|
gov.noaa.nws.ncep.edex.purgeutil/component-deploy.xml,
|
|
com.raytheon.edex.common/component-deploy.xml,
|
|
com.raytheon.uf.common.serialization/component-deploy.xml"
|
|
/>
|
|
</then>
|
|
<else>
|
|
<echo
|
|
message="Not deploying web applications to this target" />
|
|
</else>
|
|
</if>
|
|
|
|
<exec executable="/bin/bash"
|
|
outputproperty="build.system.padded">
|
|
<arg value="${basedir}/rpm/util/PadString.sh" />
|
|
<arg value="${build.system}" />
|
|
<arg value="32" />
|
|
</exec>
|
|
|
|
<!-- update the deployed banner file -->
|
|
<copy file="${esbDir}/conf/banner.txt"
|
|
tofile="${esbDir}/conf/banner.txt.update">
|
|
<filterchain>
|
|
<tokenfilter>
|
|
<replaceregex pattern="MM-DD-YYYY"
|
|
replace="${build.date}" />
|
|
<replaceregex pattern="HH:MM:SS.SSS ZZZ"
|
|
replace="${build.time}" />
|
|
<replaceregex
|
|
pattern="BUILD.SYSTEMXXXXXXXXXXXXXXXXXXXXX*"
|
|
replace="${build.system.padded}" />
|
|
</tokenfilter>
|
|
</filterchain>
|
|
</copy>
|
|
<delete>
|
|
<fileset file="${esbDir}/conf/banner.txt" />
|
|
</delete>
|
|
<move
|
|
file="${esbDir}/conf/banner.txt.update"
|
|
tofile="${esbDir}/conf/banner.txt" />
|
|
</target>
|
|
|
|
<target name="deploy.esb.configuration">
|
|
<echo>Deploying esb configuration files.</echo>
|
|
<!-- Deploy: setup.env -->
|
|
<copy todir="${esbDir}/bin">
|
|
<fileset file="${basedir}/esb/bin/setup.env" />
|
|
</copy>
|
|
</target>
|
|
|
|
<!-- =================================================================== -->
|
|
<!-- Generic task to build and deploy any web application. -->
|
|
<!-- =================================================================== -->
|
|
<macrodef name="deploy.war">
|
|
<attribute name="web.project.dir" />
|
|
<attribute name="war.name" />
|
|
<attribute name="application.name" />
|
|
<attribute name="component.list" />
|
|
|
|
<sequential>
|
|
<var name="esbDir" value="${install.dir}" />
|
|
|
|
<if>
|
|
<equals arg1="${installer}" arg2="true" />
|
|
<then>
|
|
<var name="bin.dir" value="@dot" />
|
|
<var name="projects.dir"
|
|
value="edex/tmp/plugins" />
|
|
</then>
|
|
<else>
|
|
<var name="bin.dir" value="bin" />
|
|
<var name="projects.dir"
|
|
value="${basedir}/../" />
|
|
</else>
|
|
</if>
|
|
|
|
<property name="webapps.dir"
|
|
value="${esbDir}/webapps" />
|
|
<property name="project.dir"
|
|
value="${projects.dir}/@{web.project.dir}" />
|
|
|
|
<property name="project.tmp.dir"
|
|
location="${basedir}/tmp/@{application.name}" />
|
|
<delete dir="${project.tmp.dir}" quiet="true"/>
|
|
<mkdir dir="${project.tmp.dir}" />
|
|
|
|
<uptodate property="project.uptodate">
|
|
<srcfiles dir="${project.dir}/src"
|
|
includes="**/*.java" />
|
|
<mapper type="glob" from="**/*.java"
|
|
to="${project.dir}/${bin.dir}/**/*.class" />
|
|
</uptodate>
|
|
|
|
<fail message="Class files out of date, please build @{application.name}"
|
|
unless="project.uptodate" />
|
|
|
|
|
|
<subant failonerror="true" inheritAll="false" inheritRefs="false">
|
|
<fileset dir="${projects.dir}"
|
|
includes="@{component.list}"/>
|
|
<target name="deploy" />
|
|
<property name="dest.dir" value="${project.tmp.dir}" />
|
|
</subant>
|
|
|
|
<var name="war.file" value="@{war.name}.war" />
|
|
|
|
<!-- delete old war file -->
|
|
<delete dir="${webapps.dir}/@{war.name}"
|
|
quiet="true" />
|
|
<delete file="${webapps.dir}/${war.file}"
|
|
quiet="true" />
|
|
<mkdir dir="${webapps.dir}" />
|
|
|
|
<!-- build and deploy new war -->
|
|
<echo message="Building and deploying war file" />
|
|
<war destfile="${webapps.dir}/${war.file}"
|
|
webxml="${project.dir}/web/WEB-INF/web.xml">
|
|
<fileset dir="${project.dir}/web"
|
|
excludes="**/WEB-INF/" />
|
|
<classes dir="${project.dir}/web/WEB-INF/classes" />
|
|
<!-- general -->
|
|
<webinf file="${project.dir}/web/WEB-INF/dwr.xml" />
|
|
</war>
|
|
|
|
<unzip src="${webapps.dir}/${war.file}"
|
|
dest="${webapps.dir}/@{war.name}" />
|
|
<delete file="${webapps.dir}/${war.file}" />
|
|
</sequential>
|
|
</macrodef>
|
|
|
|
<path id="ant.classpath">
|
|
<fileset dir="${basedir}/lib/ant">
|
|
<include name="*.jar" />
|
|
</fileset>
|
|
<fileset dir="${ant.library.dir}">
|
|
<include name="*.jar" />
|
|
</fileset>
|
|
</path>
|
|
|
|
|
|
<target name="define">
|
|
<taskdef name="includegen" classname="com.raytheon.uf.anttasks.includesgen.GenerateIncludesFromFeature" classpathref="ant.classpath" />
|
|
</target>
|
|
|
|
<taskdef resource="net/sf/antcontrib/antlib.xml" classpath="${basedir}/lib/ant/ant-contrib-1.0b3.jar" />
|
|
|
|
&substitute-targets;
|
|
|
|
</project> |