summaryrefslogtreecommitdiff
path: root/qpid/java/common.xml
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/java/common.xml')
-rw-r--r--qpid/java/common.xml350
1 files changed, 350 insertions, 0 deletions
diff --git a/qpid/java/common.xml b/qpid/java/common.xml
new file mode 100644
index 0000000000..1125a3230c
--- /dev/null
+++ b/qpid/java/common.xml
@@ -0,0 +1,350 @@
+<!--
+ -
+ - 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="common">
+
+ <dirname property="project.root" file="${ant.file.common}"/>
+
+ <property name="project.name" value="qpid"/>
+ <property name="project.version" value="0.11"/>
+ <property name="project.url" value="http://qpid.apache.org"/>
+ <property name="project.groupid" value="org.apache.qpid"/>
+ <property name="project.namever" value="${project.name}-${project.version}"/>
+
+ <property name="resources" location="${project.root}/resources"/>
+ <property name="test.profiles" location="${project.root}/test-profiles"/>
+ <property name="build" location="${project.root}/build"/>
+ <property name="build.scratch" location="${build}/scratch"/>
+ <property name="build.bin" location="${build}/bin"/>
+ <property name="build.etc" location="${build}/etc"/>
+ <property name="build.lib" location="${build}/lib"/>
+ <property name="build.api" location="${build}/api"/>
+ <property name="build.test.api" location="${build}/test-api"/>
+ <property name="build.results" location="${build}/results"/>
+ <property name="build.failed" location="${build.results}/FAILED"/>
+ <property name="build.report" location="${build}/report"/>
+ <property name="build.release" location="${build}/release"/>
+ <property name="build.release.prepare" location="${build.release}/prepare"/>
+ <property name="build.data" location="${build.scratch}/data"/>
+ <property name="build.plugins" location="${build}/lib/plugins"/>
+ <property name="build.coveragereport" location="${build}/coverage"/>
+ <property name="build.findbugs" location="${build}/findbugs"/>
+
+ <property name="java.target" value="1.5"/>
+ <property name="java.source" value="1.5"/>
+
+ <property name="release" location="${project.root}/release"/>
+
+ <property name="tasks" location="${project.root}/tasks"/>
+ <property name="tasks.classes" location="${tasks}/classes"/>
+ <property name="tasks.src" location="${tasks}/src"/>
+
+ <property name="qpid.home" location="${project.root}/build"/>
+ <property name="qpid.work" location="${qpid.home}/work"/>
+
+ <property name="javac.compiler.args" value=""/>
+
+ <property name="cobertura.dir" value="${project.root}/lib/cobertura" />
+ <property name="mllib.dir" value="${project.root}/../python" />
+ <property name="findbugs.dir" value="${project.root}/lib/findbugs" />
+
+ <!-- properties used to control Ant Eclipse for Eclipse classpath/project files etc -->
+ <property name="eclipse.updatealways" value="false"/>
+ <property name="eclipse.compilercompliance" value="5.0"/>
+ <property name="eclipse.container" value="JVM 1.5"/>
+
+ <path id="cobertura.classpath">
+ <fileset dir="${cobertura.dir}">
+ <include name="cobertura.jar" />
+ <include name="lib/**/*.jar" />
+ </fileset>
+ </path>
+
+ <property name="maven.local.repo" value="${build.scratch}/maven-local-repo"/>
+ <property name="maven.settings.xml" value="${project.root}/maven-settings.xml"/>
+ <property name="maven.unique.version" value="false"/>
+ <property name="maven.snapshot" value="true"/>
+ <condition property="maven.version.suffix" value="" else="-SNAPSHOT">
+ <isfalse value="${maven.snapshot}"/>
+ </condition>
+
+ <macrodef name="indirect">
+ <attribute name="name"/>
+ <attribute name="variable"/>
+ <sequential>
+ <property name="@{name}" value="${@{variable}}"/>
+ </sequential>
+ </macrodef>
+
+ <macrodef name="echo-path">
+ <attribute name="refid"/>
+ <sequential>
+ <property name="@{refid}" refid="@{refid}"/>
+ <echo message="@{refid} = ${@{refid}}"/>
+ <pathconvert property="@{refid}.pretty"
+ refid="@{refid}"
+ pathsep="${line.separator} |-- "/>
+ <echo message="@{refid}.pretty =${line.separator} |-- ${@{refid}.pretty}"/>
+ </sequential>
+ </macrodef>
+
+ <macrodef name="echo-prop">
+ <attribute name="name"/>
+ <sequential>
+ <echo message="@{name} = ${@{name}}"/>
+ </sequential>
+ </macrodef>
+
+ <macrodef name="findSubProjects">
+ <attribute name="dir"/>
+ <attribute name="name"/>
+ <attribute name="excludes" default=""/>
+
+ <sequential>
+ <dirset id="@{dir}.refid" dir="@{dir}" excludes="@{excludes}">
+ <present targetdir="@{dir}">
+ <mapper type="glob" from="*" to="*/build.xml" />
+ </present>
+ </dirset>
+
+ <pathconvert property="@{name}"
+ refid="@{dir}.refid"
+ pathsep=" ">
+ <map from="${project.root}/" to=""/>
+ </pathconvert>
+ </sequential>
+ </macrodef>
+
+
+
+ <macrodef name="jython">
+ <attribute name="path"/>
+ <element name="args"/>
+ <sequential>
+ <java jar="${project.root}/lib/jython-2.5.0.jar" fork="true" failonerror="true">
+ <arg value="-Dpython.path=@{path}"/>
+ <args/>
+ </java>
+ </sequential>
+ </macrodef>
+
+ <mkdir dir="${tasks.classes}"/>
+ <javac source="${java.source}" target="${java.target}" srcdir="${tasks.src}" destdir="${tasks.classes}" classpath="${java.class.path}" includeantruntime="false">
+ <compilerarg line="${javac.compiler.args}"/>
+ </javac>
+
+
+ <typedef name="propertymapper" classname="org.apache.qpid.tasks.PropertyMapper"
+ classpath="${tasks.classes}"/>
+
+ <taskdef name="map" classname="org.apache.qpid.tasks.Map"
+ classpath="${tasks.classes}"/>
+ <taskdef name="foreach" classname="org.apache.qpid.tasks.Foreach"
+ classpath="${tasks.classes}"/>
+
+ <macrodef name="copylist">
+ <attribute name="todir"/>
+ <attribute name="dir"/>
+ <attribute name="files"/>
+ <sequential>
+ <foreach property="file" list="@{files}">
+ <copy todir="@{todir}" flatten="true">
+ <fileset dir="@{dir}" includes="${file}"/>
+ </copy>
+ </foreach>
+ </sequential>
+ </macrodef>
+
+ <target name="clean-tasks">
+ <delete dir="${tasks.classes}"/>
+ </target>
+
+ <target name="clean-results">
+ <delete dir="${build.results}"/>
+ </target>
+
+ <target name="report" description="generate test report">
+ <delete dir="${build.report}"/>
+ <mkdir dir="${build.report}"/>
+ <junitreport todir="${build.report}">
+ <fileset dir="${build.results}">
+ <include name="**/TEST-*.xml"/>
+ </fileset>
+ <report todir="${build.report}"/>
+ </junitreport>
+ </target>
+
+ <target name="cobertura-init">
+ <taskdef classpathref="cobertura.classpath" resource="tasks.properties" />
+ </target>
+
+ <target name="findbugs-init">
+ <available file="${findbugs.dir}/findbugs-ant.jar" property="findbugs-ant.jar.present"/>
+ <fail unless="findbugs-ant.jar.present" message="Please follow the instructions at ${findbugs.dir}/README.txt to configure FindBugs"/>
+
+ <taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask" classpath="${findbugs.dir}/findbugs-ant.jar"/>
+ </target>
+
+ <target name="help" description="display detailed build documentation">
+ <echo>
+ ant build
+
+ This target compiles all sources, creates java archives, and
+ copies scripts and configurations into the build directory:
+
+ ${build}
+
+ The build directory is treated as a live distro which this target
+ will incrementally update. Developers can put the build/bin
+ directory into their path in order to run any scripts or code
+ directly out of the live build:
+
+ ${build.bin}
+
+ ant test [ -Dtest=&lt;pattern&gt; ] [-Dprofile=&lt;profile&gt;] [ report ]
+
+ Execute unit tests and place the output in the build results
+ directory:
+
+ ${build.results}
+
+ All test output will be redirected to a file of the form:
+
+ TEST-&lt;class&gt;.txt
+
+ The same output is available using an xml file format:
+
+ TEST-&lt;class&gt;.xml
+
+ The test system property may be used to restrict the number of
+ tests run by a given invocation of the ant test target. The
+ following command will run just the MongooseTest test case:
+
+ ant test -Dtest=MongooseTest
+
+ In addition, patterns may be used to specify more than one test.
+ The following command will run both the MongooseTest and GooseTest
+ test cases:
+
+ ant test -Dtest=*ooseTest
+
+ If no test property is specified, the "ant test" target will
+ default to running all available tests for the project or module
+ depending on the current working directory.
+
+ Test Reports
+
+ It can be useful to append the report target in order to
+ generate an html summary of the tests that were just run. The
+ following command will run both the MongooseTest and GooseTest
+ test cases and generate an html summary of the results:
+
+ ant test -Dtest=*ooseTest report
+
+ See the documentation for the "ant report" target for more details
+ on the generated report.
+
+ Test Profiles
+
+ There are a number of profiles defined for running the test suite.
+ These test profiles define how the test should be run. If the test
+ profile is not specified then 'default.testprofile' is utilised.
+ This runs the system tests against the Java InVM broker. Additional
+ test profiles exists as follows:
+
+ cpp : Runs against the built cpp tree broker.
+
+ ant report
+
+ The report target will generate an html summary of the current
+ test results into the report directory:
+
+ ${build.report}
+
+ The report target will operate on all results currently in the
+ build results directory. Results are not cleared unless the clean
+ target is used. This means that several consecutive test runs can
+ be summarized into a single report. The following commands will
+ produce a report summarizing both the MongooseTest and GooseTest
+ test cases:
+
+ ant test -Dtest=MongooseTest
+ ...
+ ant test -Dtest=GooseTest
+ ...
+ ant report
+
+ ant release
+
+ The release target generates binary distribution archives and
+ places them into the release directory:
+
+ ${release}
+
+ ant release-bin
+
+ The release-bin target generates binary distribution archives for
+ modules that have a specific binary package configured.
+ To enable for other modules create a target "release-bin" that
+ depends on target "release-bin-tasks". The output is placed in:
+
+ ${module.release}
+
+ ant clean
+
+ The clean target removes build artifacts. When invoked from the
+ project root this target will remove the entire project build and
+ release directories:
+
+ ${build}
+ and
+ ${release}
+ and
+ ${module.release}
+
+ When invoked from a specific module, the clean target will delete
+ that modules build root from underneath the project build root:
+
+ ${build}/&lt;module&gt;
+
+ ant clean-results
+
+ The clean-results target removes all test output from the test
+ results directory:
+
+ ${build.results}
+
+ ant eclipse
+
+ Generates project and classpath files for the Eclispe IDE. Requires that
+ the Ant Eclipse task (http://ant-eclipse.sourceforge.net/) has been installed
+ in $ANT_HOME/lib.
+
+ The following system properties will be passed to the task. These can be usefully
+ overridden from the command line.
+
+ eclipse.updatealways - forces Eclipse files to be regenerated even if they are newer then the build.xml (default ${eclipse.updatealways}).
+ eclipse.container - controls the Eclipse container (default ${eclipse.container}).
+ eclipse.compilercompliance" - controls the Eclipse compiler compliance (default ${eclipse.compilercompliance}).
+
+ </echo>
+ </target>
+
+</project>