blob: f7fa5449ff9621c2b87445693116962bfe24cb67 [file]
<!--
-
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
-
-->
<project name="QMan - Qpid JMX / WS-DM Adapter" default="build">
<property name="module.depends" value="client common"/>
<property name="module.test.depends" value="client common"/>
<import file="../../module.xml"/>
<property name="build.root" value="${module.build}"/>
<property name="web.module" value="${module.build}${file.separator}wsdm-module"/>
<property name="web-inf.folder" value="${web.module}${file.separator}WEB-INF"/>
<property name="classes.folder" value="${web-inf.folder}${file.separator}classes"/>
<property name="examples.folder" value="${module.build}${file.separator}examples"/>
<target name="release-bin-other">
<mkdir dir="${module.release}${file.separator}log"/>
<mkdir dir="${module.release}${file.separator}examples"/>
<mkdir dir="${module.release}${file.separator}examples${file.separator}sample_messages"/>
</target>
<target name="release-bin" depends="release-bin-tasks"/>
<target name="resources-release" description="copy resources into module release">
<copy todir="${module.release}" failonerror="false" flatten="true">
<fileset dir="${resources}" excludes="META-INF">
<exclude name="META-INF"/>
<exclude name="README"/>
</fileset>
<fileset file="${module.build}${file.separator}README"/>
</copy>
</target>
<target name="libs-release" description="copy dependencies into module release">
<copy todir="${module.release}${file.separator}" failonerror="true" verbose="true">
<fileset dir="${build}" casesensitive="yes" includes="${module.libs}">
<not><filename name="**/*javassist*"/></not>
<not><filename name="**/*xml-api*"/></not>
<not><filename name="**/*xerces*"/></not>
<not><filename name="**/*xalan*"/></not>
<not><filename name="**/*wsdl*"/></not>
<not><filename name="**/*muse*"/></not>
<not><filename name="**/*jsp*"/></not>
<not><filename name="**/*core-3.1.1.jar*"/></not>
</fileset>
</copy>
<copy todir="${module.release}${file.separator}lib" failonerror="true">
<fileset file="${module.jar}"/>
<fileset dir="${build.lib}" includes="${module.depends.jars}"/>
</copy>
<mkdir dir="${module.release}${file.separator}app${file.separator}qman"/>
<copy todir="${module.release}${file.separator}app${file.separator}qman" failonerror="true">
<fileset dir="${web.module}" includes="*/**"/>
</copy>
<mkdir dir="${module.release}${file.separator}examples"/>
<copy todir="${module.release}${file.separator}examples">
<fileset dir="${examples.folder}"/>
</copy>
</target>
<target name="prepare-wsdm-module">
<mkdir dir="${web.module}"/>
<mkdir dir="${web-inf.folder}"/>
<mkdir dir="${classes.folder}"/>
<copy file=".${file.separator}web.xml" todir="${web-inf.folder}" verbose="false"/>
<copy todir="${classes.folder}" verbose="false">
<fileset dir="${module.classes}">
<include name="wsdl/**"/>
<include name="muse.xml"/>
<include name="router-entries/**"/>
</fileset>
</copy>
<copy todir="${web-inf.folder}">
<fileset dir="${build}" includes="${module.libs}">
<exclude name="lib/jetty*.jar"/>
<exclude name="lib/start*.jar"/>
</fileset>
</copy>
<copy todir="${web-inf.folder}${file.separator}lib">
<fileset dir="${build}/lib">
<include name="qpid-client-*.jar"/>
<include name="qpid-common-*.jar"/>
<include name="qpid-management-client-*.jar"/>
<exclude name="qpid-client-example*.jar"/>
<exclude name="qpid-client-tests*.jar"/>
<exclude name="qpid-common-tests*.jar"/>
<exclude name="qpid-management-client-tests*.jar"/>
</fileset>
</copy>
<copy todir="${web.module}">
<fileset dir="${module.src}${file.separator}..${file.separator}..${file.separator}..${file.separator}console">
<include name="*/**"/>
</fileset>
</copy>
</target>
<target name="jar.manifest" depends="compile" if="module.manifest">
<jar destfile="${module.jar}" manifest="${module.manifest}">
<fileset dir="${module.classes}" casesensitive="yes">
<include name="**/**"/>
<exclude name="wsdl/**"/>
<exclude name="muse.xml"/>
<exclude name="router-entries/**"/>
</fileset>
</jar>
</target>
<target name="jar.nomanifest" depends="compile" unless="module.manifest">
<jar destfile="${module.jar}">
<metainf dir="${project.root}${file.separator}resources/" />
<fileset dir="${module.classes}" casesensitive="yes">
<include name="**/**"/>
<exclude name="wsdl/**"/>
<exclude name="muse.xml"/>
<exclude name="router-entries/**"/>
</fileset>
</jar>
</target>
<target name="postbuild" depends="prepare-wsdm-module,copy-examples-to-build,copy-README-to-build" description="Build WS-DM module"/>
<path id="module.test.path">
<pathelement path="${module.test.classes}" />
<path refid="module.test.libs"/>
<fileset dir="${build}/lib">
<include name="qpid-client-*.jar"/>
<include name="qpid-common-*.jar"/>
<include name="qpid-management-client-*.jar"/>
<exclude name="qpid-client-example*.jar"/>
<exclude name="qpid-client-tests*.jar"/>
<exclude name="qpid-common-tests*.jar"/>
<exclude name="qpid-management-client-tests*.jar"/>
</fileset>
</path>
<target name="copy-README-to-build">
<copy todir="${module.build}">
<fileset dir="${module.src}${file.separator}..${file.separator}..${file.separator}..">
<include name="README"/>
</fileset>
</copy>
</target>
<target name="copy-examples-to-build">
<mkdir dir="${examples.folder}${file.separator}src"/>
<mkdir dir="${examples.folder}${file.separator}sample_messages"/>
<copy todir="${examples.folder}">
<fileset dir="${module.src}${file.separator}..${file.separator}..${file.separator}example">
<include name="README"/>
</fileset>
</copy>
<copy todir="${examples.folder}${file.separator}src">
<fileset dir="${module.src}${file.separator}..${file.separator}..${file.separator}example">
<include name="**/*.java"/>
<exclude name="**/*.out.*"/>
</fileset>
</copy>
<copy todir="${examples.folder}${file.separator}sample_messages">
<fileset dir="${module.src}${file.separator}..${file.separator}..${file.separator}example" >
<exclude name="**/*.java"/>
<exclude name="**/README"/>
<include name="**/*.out.*"/>
</fileset>
</copy>
</target>
<target name="test" depends="build,compile-tests" if="module.test.src.exists" unless="${dontruntest}" description="execute unit tests">
<delete file="${module.failed}"/>
<echo message="Using profile:${profile}" level="info"/>
<junit fork="${test.fork}" maxmemory="1024M" reloading="no"
haltonfailure="${haltonfailure}" haltonerror="${haltonerror}"
failureproperty="test.failures" printsummary="on" timeout="600000" >
<jvmarg value="${jvm.args}"/>
<sysproperty key="qman.war" value="${web.module}"/>
<formatter type="plain"/>
<formatter type="xml"/>
<classpath refid="module.test.path"/>
<batchtest fork="${test.fork}" todir="${module.results}">
<fileset dir="${module.test.src}" excludes="${module.test.excludes}">
<include name="**/${test}.java"/>
</fileset>
</batchtest>
</junit>
<antcall target="touch-failed"/>
<condition property="failed">
<and>
<isfalse value="${test.failures.ignore}"/>
<available file="${module.failed}"/>
</and>
</condition>
<fail if="failed" message="TEST SUITE FAILED"/>
</target>
</project>