forked from goldmansachs/gs-collections
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.xml
119 lines (101 loc) · 4.4 KB
/
build.xml
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
106
107
108
109
110
111
112
113
114
115
116
117
118
<?xml version="1.0"?>
<!--
~ Copyright 2014 Goldman Sachs.
~
~ 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="gs-collections-parent" default="test" xmlns:ivy="antlib:org.apache.ivy.ant">
<description>
A delegating master build file, which builds targets in each module
</description>
<property file="version.properties" />
<target name="clean" description="runs the clean build in each module">
<delete dir="target" />
<sub-target target="clean" />
</target>
<target name="install" description="installs the artifacts to the local cache">
<subant buildpath="./gs-collections-code-generator/" target="install" />
<subant buildpath="./gs-collections-code-generator-ant/" target="install" />
<subant buildpath="./collections-api/" target="install" />
<subant buildpath="./collections/" target="install" />
<subant buildpath="./collections-testutils/" target="install" />
<subant buildpath="./gs-collections-forkjoin/" target="install" />
</target>
<target name="generate-sources" description="generates sources">
<sub-target target="generate-sources" />
</target>
<target name="test" depends="ivy-init, install" description="runs the test build in each module">
<sub-target target="test" />
</target>
<target name="zip" depends="ivy-init, install" description="runs the zip build in each module">
<subant buildpath="./collections-api/" target="zip" />
<subant buildpath="./collections/" target="zip" />
<subant buildpath="./collections-testutils/" target="zip" />
<subant buildpath="./gs-collections-forkjoin/" target="zip" />
</target>
<target name="ivy-init">
<!-- download Ivy from web site so that it can be used even without any special installation -->
<get
src="http://repo1.maven.org/maven2/org/apache/ivy/ivy/${ivy.version}/ivy-${ivy.version}.jar"
dest="ivy-${ivy.version}.jar"
skipexisting="true"
verbose="true" />
</target>
<target name="ivy-clean" depends="ivy-init" description="clean the ivy cache">
<property name="ivy.jar.file" value="${basedir}/ivy-${ivy.version}.jar" />
<path id="ivy.lib.path">
<pathelement location="${ivy.jar.file}" />
</path>
<taskdef
resource="org/apache/ivy/ant/antlib.xml"
uri="antlib:org.apache.ivy.ant"
classpathref="ivy.lib.path" />
<ivy:cleancache />
</target>
<filelist id="modules">
<file name="gs-collections-code-generator" />
<file name="gs-collections-code-generator-ant" />
<file name="collections-api" />
<file name="collections" />
<file name="collections-testutils" />
<file name="gs-collections-forkjoin" />
</filelist>
<filelist id="all-modules">
<file name="gs-collections-code-generator" />
<file name="gs-collections-code-generator-ant" />
<file name="collections-api" />
<file name="collections" />
<file name="collections-testutils" />
<file name="gs-collections-forkjoin" />
<file name="unit-tests" />
<file name="scala-unit-tests" />
<file name="serialization-tests" />
<file name="acceptance-tests" />
</filelist>
<macrodef name="sub-target">
<attribute name="target" default="test" />
<sequential>
<subant target="@{target}" verbose="true" inheritall="true">
<filelist refid="modules" />
</subant>
</sequential>
</macrodef>
<macrodef name="sub-target-all">
<attribute name="target" default="test" />
<sequential>
<subant target="@{target}" verbose="true" inheritall="true">
<filelist refid="all-modules" />
</subant>
</sequential>
</macrodef>
</project>