awips2/RadarServer/build.rcm/build.xml

286 lines
12 KiB
XML
Raw Permalink Normal View History

2017-03-14 15:05:59 -05:00
<?xml version="1.0" encoding="UTF-8"?>
<!--
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
This_software_product_contains_export-restricted_data_whose
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
an_export_license_or_other_authorization.
Contractor_Name:________Raytheon_Company
Contractor_Address:_____6825_Pine_Street,_Suite_340
________________________Mail_Stop_B8
________________________Omaha,_NE_68106
________________________402.291.0100
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
further_licensing_information.
-->
<!DOCTYPE project [
<!ENTITY substitute-targets SYSTEM "substitute.xml">
]>
<project name="RCMPackageBuilder" default="deploy" basedir=".">
<property file="${basedir}/../../edexOsgi/build.edex/edex/common.properties" />
<condition property="ant.lib.dir" value="${basedir}/../../edexOsgi/build.edex/lib/ant/" else="${basedir}/../build.edex/lib/ant/">
<available file="${basedir}/../../edexOsgi/build.edex/lib/ant/ant-contrib-1.0b3.jar" />
</condition>
<taskdef resource="net/sf/antcontrib/antlib.xml" classpath="${ant.lib.dir}/ant-contrib-1.0b3.jar" />
<path id="ant.classpath">
<fileset dir="${ant.lib.dir}">
<include name="*.jar" />
</fileset>
</path>
<!--
This build script expects the following projects to exist at the same
level as this project's folder. com.raytheon.rcm.lib
com.raytheon.rcm.server com.raytheon.rcm.server.mq
com.raytheon.rcm.tools org.itadaki.bzip2 The projects must be
built before running this script.
-->
&substitute-targets;
<description>
Builds a deployment of the RCM for packaging
</description>
<!-- set global properties for this build -->
<property environment="user" />
<property name="src" location="src" />
<property name="build" location="build" />
<property name="deploy.dir" location="Deploy" />
<property name="props.dir" location="${basedir}/properties" />
<property file="${props.dir}/build-local.properties" />
<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>
<condition property="top.dir" value="${basedir}/.." else="${basedir}/../../..">
<available file="${basedir}/../build.edex/lib/ant/ant-contrib-1.0b3.jar" />
</condition>
<condition property="core_foss_lib.dir" value="${basedir}/.." else="${top.dir}/${core-foss.repo}/lib">
<available file="${basedir}/../build.edex/lib/ant/ant-contrib-1.0b3.jar" />
</condition>
<condition property="a2_foss_lib.dir" value="${basedir}/.." else="${top.dir}/${awips2-foss.repo}/lib">
<available file="${basedir}/../build.edex/lib/ant/ant-contrib-1.0b3.jar" />
</condition>
<condition property="core_common.dir" value="${basedir}/.." else="${top.dir}/${core.repo}/common/">
<available file="${basedir}/../build.edex/lib/ant/ant-contrib-1.0b3.jar" />
</condition>
<condition property="edexsrc.dir" value="${basedir}/.." else="${basedir}/../../edexOsgi" >
<available file="${basedir}/../com.raytheon.edex.plugin.radar/utility/common_static/base/radar/elevationLists.txt" />
</condition>
<!-- Only check for directories on development workstation-->
<if>
<equals arg1="${top.dir}" arg2="${basedir}/../../.." />
<then>
<property name="tab" value=" " />
<echo level="info" message=" " />
<echo level="info" message="Deploy checks the following directories for source:" />
<echo level="info" message=" " />
<for list="${core.repositories}" param="repository.directory">
<sequential>
<echo level="info" message="${tab}@{repository.directory}" />
<if>
<not>
<available file="${top.dir}/@{repository.directory}" type="dir" />
</not>
<then>
<echo level="error" message="${tab}@{repository.directory} does not exist!" />
<property name="missingDir" value="true" />
</then>
</if>
</sequential>
</for>
<if>
<isset property="missingDir" />
<then>
<echo level="error" message=" " />
<echo level="error" message="Edit core.repositories=${core.repositories} in common.properties, rename source directories or create a symlink!" />
<echo level="error" message=" " />
<fail message="Unable to locate source directories." />
</then>
</if>
<echo level="info" message=" " />
</then>
</if>
<!-- Set default EDEX install location for copy filter -->
<property name="def.edex.install.dir" value="/awips" />
<condition property="edex.home" value="$EdexBaseDir" else="${def.edex.install.dir}">
<isset property="installer"/>
</condition>
<!-- Create clean deployment -->
<target name="deploy">
<echo message="----------------------------------------------------------------"/>
<echo message=" deploying RCM to ${deploy.dir}"/>
<echo message=" PDE Build = ${pde.build}"/>
<echo message="----------------------------------------------------------------"/>
<antcall target="un.deploy" />
<antcall target="re.deploy" />
<antcall target="config.deploy" />
</target>
<!--
Deploy on top of existing deployment. Old files not removed nor is the
configuration file changed.
-->
<target name="re.deploy">
<mkdir dir="${deploy.dir}" />
<mkdir dir="${deploy.dir}/bin" />
<mkdir dir="${deploy.dir}/lib" />
<mkdir dir="${deploy.dir}/data" />
<!-- copy with filter -->
<copy todir="${deploy.dir}" verbose="false">
<filterset refid="installer.filter.set" />
<fileset dir="bits">
<include name="bin/*" />
</fileset>
</copy>
<chmod perm="a-w,a+x">
<fileset dir="${deploy.dir}/bin">
<include name="*" />
</fileset>
</chmod>
<!--
Not all of these files should be made executable. Need to know all
executable names... or all non-executables...
-->
<copy todir="${deploy.dir}/bin" verbose="false">
<fileset dir="../com.raytheon.rcm.tools/src">
<include name="*.py" />
</fileset>
</copy>
<chmod perm="a+x">
<fileset dir="${deploy.dir}/bin">
<include name="*.py" />
<exclude name="stomp.py" />
</fileset>
</chmod>
<chmod perm="a-w">
<fileset dir="${deploy.dir}/bin">
<include name="*.py" />
</fileset>
</chmod>
<copy todir="${deploy.dir}/lib" flatten="true">
<fileset dir="${core_foss_lib.dir}/net.sf.cglib" includes="**/*.jar" />
<fileset dir="${core_foss_lib.dir}/org.apache.activemq" includes="**/*.jar" />
<fileset dir="${core_foss_lib.dir}/org.apache.qpid" includes="**/*.jar" />
<fileset dir="${core_foss_lib.dir}/org.slf4j" includes="**/*.jar">
<include name="**/jcl-over-slf4j*.jar" />
<include name="**/jul-to-slf4j*.jar" />
<include name="**/slf4j-api*.jar" />
</fileset>
<fileset dir="${core_foss_lib.dir}/org.apache.commons.beanutils" includes="**/*.jar" />
<fileset dir="${core_foss_lib.dir}/org.apache.commons.codec" includes="**/*.jar" />
<fileset dir="${core_foss_lib.dir}/org.apache.commons.collections" includes="**/*.jar" />
<fileset dir="${core_foss_lib.dir}/org.apache.commons.lang" includes="**/*.jar" />
<fileset dir="${core_foss_lib.dir}/ch.qos.logback" includes="**/*.jar" />
<fileset dir="${core_foss_lib.dir}/javax.jms" includes="**/*.jar" />
<fileset dir="${core_foss_lib.dir}/org.springframework">
<include name="**/*spring*beans*.jar" />
<include name="**/*spring*context*.jar" />
</fileset>
<fileset dir="${a2_foss_lib.dir}/org.itadaki.bzip2" includes="**/*.jar" />
<fileset dir="${core_foss_lib.dir}/org.quartz" includes="**/*.jar" />
</copy>
<delete dir="bin" />
<mkdir dir="bin" />
<antcall target="local.jar" />
<antcall target="pde.jar" />
<jar destfile="${deploy.dir}/lib/radarserver-mq.jar" basedir="bin" />
<delete dir="bin" />
</target>
<target name="local.jar" if="pde.build">
<copy toDir="bin">
<fileset dir="tmp/plugins/com.raytheon.rcm.lib/@dot"
includes="**/*.class" />
<fileset dir="tmp/plugins/com.raytheon.rcm.lib/@dot"
includes="**/*.txt" />
<fileset dir="tmp/plugins/com.raytheon.rcm.server/@dot"
includes="**/*.class" />
<fileset dir="tmp/plugins/com.raytheon.rcm.server.mq/@dot"
includes="**/*.class" />
<fileset dir="tmp/plugins/com.raytheon.rcm.server.mq/@dot"
includes="**/*.txt" />
<fileset dir="tmp/plugins/com.raytheon.uf.common.util/@dot"
includes="**/*.class" />
<fileset dir="tmp/plugins/com.raytheon.uf.common.serialization/@dot"
includes="**/*.class" />
</copy>
</target>
<target name="pde.jar" unless="pde.build">
<copy todir="bin">
<fileset dir="../com.raytheon.rcm.lib/bin" includes="**/*.class" />
<fileset dir="../com.raytheon.rcm.lib/bin" includes="**/*.txt" />
<fileset dir="../com.raytheon.rcm.server/bin" includes="**/*.class" />
<fileset dir="../com.raytheon.rcm.server.mq/bin" includes="**/*.class" />
<fileset dir="../com.raytheon.rcm.server.mq/bin" includes="**/*.txt" />
<fileset dir="${core_common.dir}/com.raytheon.uf.common.util/bin" includes="**/*.class" />
<fileset dir="${core_common.dir}/com.raytheon.uf.common.serialization/bin" includes="**/*.class" />
</copy>
</target>
<target name="config.deploy">
<copy todir="${deploy.dir}" verbose="false">
<filterset refid="installer.filter.set" />
<fileset dir="cfgbits">
<include name="**/*" />
<exclude name="**/config.xml"/>
</fileset>
</copy>
<copy todir="${deploy.dir}/data/config/drop-ins" verbose="false">
<filterset refid="installer.filter.set" />
<fileset dir="${edexsrc.dir}/com.raytheon.edex.plugin.radar/utility/common_static/base/radar">
<include name="elevationLists.txt"/>
<include name="tdwrElevations.txt"/>
<include name="ssssElevationLists.txt"/>
</fileset>
</copy>
<!-- this is required because config.xml contains an '@' in a url -->
<copy todir="${deploy.dir}" verbose="false">
<filterset refid="config.xml.filter.set"/>
<fileset dir="cfgbits">
<include name="**/config.xml"/>
</fileset>
</copy>
</target>
<target name="un.deploy">
<delete dir="${deploy.dir}">
</delete>
</target>
</project>