286 lines
12 KiB
XML
286 lines
12 KiB
XML
|
<?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>
|