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