1
+ <?xml version =" 1.0" ?>
2
+ <!--
3
+ =======================================================================
4
+ A master build file for creating a release of Spring Web Flow
5
+ =======================================================================
6
+ -->
7
+ <project name =" build-spring-ws" default =" release" >
8
+
9
+ <!-- Load local and user build preferences -->
10
+ <property file =" build.properties" />
11
+ <property file =" project.properties" />
12
+ <property file =" ${ user.home } /build.properties" />
13
+
14
+ <path id =" modules" >
15
+ <pathelement location =" ../spring-oxm" />
16
+ <pathelement location =" ../spring-ws-core" />
17
+ <pathelement location =" ../spring-ws-samples/airline" />
18
+ </path >
19
+
20
+ <!-- simplistic pattern for zipping up sources -->
21
+ <selector id =" project.source.zip.includes" >
22
+ <and >
23
+ <or >
24
+ <filename name =" build-spring-ws/**" />
25
+ <filename name =" common-build/**" />
26
+ <filename name =" repository/**" />
27
+ <filename name =" spring-ws/**" />
28
+ </or >
29
+ <and >
30
+ <filename name =" */target/**" negate =" true" />
31
+ <filename name =" */build.properties" negate =" true" />
32
+ <filename name =" */lib/**" negate =" true" />
33
+ </and >
34
+ <and >
35
+ <filename name =" */*/target/**" negate =" true" />
36
+ <filename name =" */*/build.properties" negate =" true" />
37
+ <filename name =" */*/lib/**" negate =" true" />
38
+ </and >
39
+ </and >
40
+ </selector >
41
+
42
+ <!--
43
+ targets: displays all targets suitable for developer use
44
+ -->
45
+ <target name =" targets" >
46
+ <echo >
47
+
48
+ Master build for Spring-WS jars.
49
+
50
+ Please execute
51
+ build -projecthelp
52
+
53
+ to see a list of all relevant targets.
54
+ The default target is 'release'
55
+ </echo >
56
+ </target >
57
+
58
+ <!--
59
+ init: initializes some common settings
60
+ -->
61
+ <target name =" init" unless =" init.done" depends =" init.pre, init.post" >
62
+ </target >
63
+
64
+ <target name =" init.pre" >
65
+
66
+ <tstamp >
67
+ <format property =" build.timestamp" pattern =" yyyyMMddHHmmss" />
68
+ </tstamp >
69
+ <tstamp >
70
+ <format property =" TSTAMPCOL" pattern =" hh:mm" />
71
+ </tstamp >
72
+
73
+ <!-- default the release version (used in release archive zips) to the current timestamp -->
74
+ <property name =" release.version" value =" ${ build.timestamp } " />
75
+
76
+ <!-- root of build hierarchy -->
77
+ <property name =" target.dir" value =" ${ basedir } /target" />
78
+
79
+ <!-- directory for release zips -->
80
+ <property name =" target.release.dir" value =" ${ target.dir } /release" />
81
+
82
+ <!-- directory for release zips -->
83
+ <property name =" release.bin.zip"
84
+ value =" spring-ws-bin-${ release.version } .zip" />
85
+ <property name =" release.bin.deps.zip"
86
+ value =" spring-ws-bin-with-dependencies-${ release.version } .zip" />
87
+ <property name =" release.buildable.zip"
88
+ value =" spring-ws-buildable-${ release.version } .zip" />
89
+
90
+ <property name =" zip.toplevel.dir" value =" spring-ws-${ release.version } " />
91
+
92
+ <echo message =' user.dir = "${ user.dir } "' />
93
+ <echo message =' ant.file = "${ ant.file } "' />
94
+ <echo message =' ant.java.version = "${ ant.java.version } "' />
95
+ <echo message =' release.version = "${ release.version } "' />
96
+
97
+ </target >
98
+
99
+ <target name =" init.post" >
100
+ <property name =" projects" value =" modules" />
101
+
102
+ <property name =" init.done" value =" true" />
103
+ </target >
104
+
105
+ <target name =" clean" depends =" init"
106
+ description =" Cleans all build output files from all projects" >
107
+ <echo >projects=${ projects } </echo >
108
+ <subant target =" clean" inheritall =" false" >
109
+ <buildpath refid =" ${ projects } " />
110
+ </subant >
111
+ </target >
112
+
113
+ <target name =" clean-all" depends =" init"
114
+ description =" Cleans all build output files from all projects, and also retrieved libs" >
115
+ <echo >projects=${ projects } </echo >
116
+ <subant target =" clean-all" inheritall =" false" >
117
+ <buildpath refid =" ${ projects } " />
118
+ </subant >
119
+ </target >
120
+
121
+ <target name =" publish" depends =" init"
122
+ description =" Calls publish targets on each project" >
123
+ <echo >projects=${ projects } </echo >
124
+ <subant target =" publish" inheritall =" false" >
125
+ <buildpath refid =" ${ projects } " />
126
+ </subant >
127
+ </target >
128
+
129
+ <target name =" dist" depends =" init"
130
+ description =" Calls dist targets on each project" >
131
+ <echo >projects=${ projects } </echo >
132
+ <subant target =" dist" inheritall =" false" >
133
+ <buildpath refid =" ${ projects } " />
134
+ </subant >
135
+ </target >
136
+
137
+ <target name =" tests" depends =" init"
138
+ description =" Calls test targets on each project" >
139
+ <echo >projects=${ projects } </echo >
140
+ <subant target =" tests" inheritall =" false" >
141
+ <buildpath refid =" ${ projects } " />
142
+ </subant >
143
+ </target >
144
+
145
+ <target name =" javadoc" depends =" init"
146
+ description =" Calls javadoc targets on each project" >
147
+ <echo >projects=${ projects } </echo >
148
+ <subant target =" javadoc" inheritall =" false" >
149
+ <buildpath refid =" ${ projects } " />
150
+ </subant >
151
+ </target >
152
+
153
+ <target name =" release"
154
+ depends =" dist, javadoc, gen-release-bins, gen-release-bins-with-deps, gen-buildable-zip"
155
+ description =" Generate release zips" >
156
+ </target >
157
+
158
+ <target name =" gen-release-bins" depends =" init"
159
+ description =" Generate bin zips/tarballs" >
160
+
161
+ <mkdir dir =" ${ target.release.dir } " />
162
+ <delete file =" ${ target.release.dir } /${ release.bin.zip } " />
163
+
164
+ <zip zipfile =" ${ target.release.dir } /${ release.bin.zip } " >
165
+ <zipfileset dir =" ../spring-ws/core/target/dist/jars" prefix =" ${ zip.toplevel.dir } /dist" />
166
+ <zipfileset dir =" ../spring-ws/core/target/dist/ivys" prefix =" ${ zip.toplevel.dir } /dist/ivys" />
167
+ <zipfileset dir =" ../spring-ws/core/target/javadocs" prefix =" ${ zip.toplevel.dir } /doc/api/core" />
168
+ <zipfileset dir =" ../spring-ws/oxm/target/dist/jars" prefix =" ${ zip.toplevel.dir } /dist" />
169
+ <zipfileset dir =" ../spring-ws/oxm/target/dist/ivys" prefix =" ${ zip.toplevel.dir } /dist/ivys" />
170
+ <zipfileset dir =" ../spring-ws/oxm/target/javadocs" prefix =" ${ zip.toplevel.dir } /doc/api/oxm" />
171
+ </zip >
172
+ </target >
173
+
174
+ <target name =" gen-release-bins-with-deps" depends =" init"
175
+ description =" Generate bin zips/tarballs with all dependencies" >
176
+
177
+ <mkdir dir =" ${ target.release.dir } " />
178
+ <delete file =" ${ target.release.dir } /${ release.bin.deps.zip } " />
179
+
180
+ <zip zipfile =" ${ target.release.dir } /${ release.bin.deps.zip } " >
181
+ <zipfileset dir =" ../spring-ws/core/target/dist/jars" prefix =" ${ zip.toplevel.dir } /dist" />
182
+ <zipfileset dir =" ../spring-ws/core/target/dist/ivys" prefix =" ${ zip.toplevel.dir } /dist/ivys" />
183
+ <zipfileset dir =" ../spring-ws/core/target/javadocs" prefix =" ${ zip.toplevel.dir } /doc/api/core" />
184
+ <zipfileset dir =" ../spring-ws/core/lib/global" prefix =" ${ zip.toplevel.dir } /lib" />
185
+ <zipfileset dir =" ../spring-ws/oxm/target/dist/jars" prefix =" ${ zip.toplevel.dir } /dist" />
186
+ <zipfileset dir =" ../spring-ws/oxm/target/dist/ivys" prefix =" ${ zip.toplevel.dir } /dist/ivys" />
187
+ <zipfileset dir =" ../spring-ws/oxm/target/javadocs" prefix =" ${ zip.toplevel.dir } /doc/api/oxm" />
188
+ <zipfileset dir =" ../spring-ws/oxm/lib/global" prefix =" ${ zip.toplevel.dir } /lib" />
189
+ </zip >
190
+ </target >
191
+
192
+ <target name =" gen-buildable-zip" depends =" init"
193
+ description =" Generate archive with buildable sources" >
194
+
195
+ <mkdir dir =" ${ target.release.dir } " />
196
+ <delete file =" ${ target.release.dir } /${ release.buildable.zip } " />
197
+
198
+ <zip zipfile =" ${ target.release.dir } /${ release.buildable.zip } " >
199
+ <zipfileset dir =" .." >
200
+ <selector refid =" project.source.zip.includes" />
201
+ <exclude name =" **/*.iml" />
202
+ <exclude name =" **/*.ipr" />
203
+ <exclude name =" **/*.iws" />
204
+ <exclude name =" **/*.classpath" />
205
+ <exclude name =" **/*.springBeans" />
206
+ <exclude name =" **/*.project" />
207
+ <exclude name =" **/*.tmproj" />
208
+ <exclude name =" **/.metadata" />
209
+ <exclude name =" **/.metadata/**/*" />
210
+ <exclude name =" **/exploded/**" />
211
+ <exclude name =" **/exploded" />
212
+ <exclude name =" **/core/docs" />
213
+ <exclude name =" **/core/docs/**" />
214
+ <exclude name =" **/core-tiger" />
215
+ <exclude name =" **/core-tiger/**/*" />
216
+ <exclude name =" **/sandbox" />
217
+ <exclude name =" **/sandbox/**/*" />
218
+ </zipfileset >
219
+ <zipfileset dir =" ../spring-ws/core/target/javadocs" prefix =" doc/api/core" />
220
+ <zipfileset dir =" ../spring-ws/oxm/target/javadocs" prefix =" doc/api/oxm" />
221
+ </zip >
222
+ </target >
223
+
224
+ </project >
0 commit comments