1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
<!--
-
- Copyright (c) 2006 The Apache Software Foundation
-
- Licensed 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="AMQ Java" default="build">
<import file="common.xml"/>
<property file="build.properties"/>
<property name="modules.extra" value=""/>
<property name="modules.client" value="common,client"/>
<property name="modules"
value="${modules.client},broker,broker/test,client/test,management/core,management/cli,cluster,${modules.extra}"/>
<macrodef name="iterate">
<attribute name="target"/>
<attribute name="modules" default="${modules}"/>
<element name="elements" implicit="true" optional="true"/>
<sequential>
<subant target="@{target}" antfile="build-module.xml">
<filelist dir="." files="@{modules}"/>
<elements/>
</subant>
</sequential>
</macrodef>
<target name="build" description="compile java source code for each module">
<iterate target="build"/>
</target>
<target name="test" description="execute unit tests">
<iterate target="test"/>
</target>
<target name="xmltest" description="execute unit tests and produce xml reports">
<iterate target="xmltest"/>
</target>
<target name="doc" description="produce javadoc for each module">
<iterate target="doc"/>
</target>
<target name="jar"
description="create java class file archives for each module">
<iterate target="jar"/>
</target>
<target name="dist"
description="copy each module's files into a single distribution tree">
<iterate target="dist"/>
<iterate target="dist-lib" modules="${modules.client}">
<property name="dist.dir" value="${dist.client.dir}"/>
</iterate>
</target>
<target name="clean" description="remove all build artifacts">
<iterate target="clean"/>
<delete dir="${build.dir}"/>
</target>
<property name="client.includes" value="*/client/**"/>
<target name="zip" depends="dist"
description="produce a zip archive of the distribution tree">
<zip basedir="${dist.root}" destfile="${build.zip}"/>
<zip basedir="${dist.root}" destfile="${client.zip}"
includes="${client.includes}"/>
</target>
<target name="tar" depends="dist"
description="produce a tar archive of the distribution tree">
<tar basedir="${dist.root}" destfile="${build.tar}"/>
<tar basedir="${dist.root}" destfile="${client.tar}"
includes="${client.includes}"/>
</target>
<target name="gzip" depends="tar"
description="produce a gzipped tarball of the distribution tree">
<gzip src="${build.tar}" destfile="${build.tgz}"/>
<gzip src="${client.tar}" destfile="${client.tgz}"/>
</target>
<target name="bzip2" depends="tar"
description="produze a bzipped tarball of the distribution tree">
<bzip2 src="${build.tar}" destfile="${build.bz2}"/>
<bzip2 src="${client.tar}" destfile="${client.bz2}"/>
</target>
<target name="archive" depends="zip,gzip,bzip2"
description="produce all archive formats of the distribution tree"/>
</project>
|