]> git.argeo.org Git - gpl/argeo-slc.git/blob - org.argeo.slc/src/main/config/include/ant/slc-factory-targets.xml
6df84da2d24fc8941cb106147932f73a5d45d5b1
[gpl/argeo-slc.git] / org.argeo.slc / src / main / config / include / ant / slc-factory-targets.xml
1 <!--
2 $HeadURL$
3 $Revision$
4 $LastChangedDate$
5 -->
6 <project default="all">
7 <!-- TO BE OVERRIDDEN -->
8 <property name="package.type" value="I" />
9 <property name="main.artifact" value="${package.prefix}" />
10 <property name="test.artifact" value="${package.prefix}-test" />
11
12 <property name="main.srcdir" location="src/main/java" />
13 <property name="main.libdir" location="lib" />
14 <property name="main.libdir-src" location="lib-src" />
15 <property name="test.srcdir" location="src/test/java" />
16
17 <property name="package.base" location="target/package/" />
18
19 <property name="dist.base" location="target/dist/" />
20 <property name="dist.doc" location="${dist.base}/doc" />
21 <property name="dist.lib" location="${dist.base}/lib" />
22 <property name="dist.lib-src" location="${dist.base}/lib-src" />
23 <property name="dist.build" location="${dist.base}/build" />
24 <property name="dist.junit" location="${dist.build}/junit" />
25 <property name="dist.appli" location="${dist.base}/appli" />
26
27 <property name="dist.jar" location="target/jar" />
28
29 <property name="compile.base" location="target/compile" />
30 <property name="slc.base" location="target/slc" />
31
32 <path id="cp.main">
33 <fileset dir="${main.libdir}">
34 <include name="**/*.jar" />
35 </fileset>
36 </path>
37
38 <path id="cp.test">
39 <fileset dir="${main.libdir}">
40 <include name="**/*.jar" />
41 </fileset>
42 <pathelement location="${compile.base}/${main.artifact}" />
43 </path>
44
45 <import file="slc-factory-macrodefs.xml" />
46
47 <target name="all" depends="dist.package">
48 <echo message="Build of ${package.name} completed" />
49 </target>
50
51 <target name="basePackage" depends="dist.basePackage">
52 <echo message="Build of ${package.name} completed" />
53 </target>
54
55 <target name="clean">
56 <delete dir="${dist.jar}" />
57 <delete dir="${slc.base}" />
58 <delete dir="${dist.base}" />
59 <delete dir="${package.base}" />
60 <delete dir="${compile.base}" />
61 </target>
62
63
64 <target name="init">
65 <!-- To be overriden -->
66 </target>
67
68 <target name="init.internal">
69 <fail unless="package.version"
70 message="Property 'package.version' must be set" />
71 <fail unless="package.prefix"
72 message="Property 'package.prefix' must be set" />
73
74 <tstamp>
75 <format property="package.tstamp" pattern="yyMMddHHmmss" />
76 </tstamp>
77 <property name="package.releaseId"
78 value="${package.version}.${package.tstamp}${package.type}" />
79
80 <property name="package.name"
81 value="${package.prefix}-${package.releaseId}" />
82 <property name="basePackage.name" value="${package.prefix}-base" />
83
84 <mkdir dir="${dist.jar}" />
85 <mkdir dir="${slc.base}" />
86 <mkdir dir="${dist.base}" />
87 <mkdir dir="${dist.lib-src}" />
88 <mkdir dir="${package.base}" />
89 <mkdir dir="${compile.base}" />
90
91 <echo message="Build of ${package.name} started." />
92 </target>
93
94 <target name="init.slcbase" if="slc.basePackage">
95 <unzip dest="${slc.base}" src="${slc.basePackage}" />
96
97 <copy todir="${dist.base}">
98 <fileset dir="${slc.base}">
99 <include name="doc/argeo-slc/**" />
100 <include name="bin/*" />
101 </fileset>
102 </copy>
103
104 <copy todir="${main.libdir}">
105 <fileset dir="${slc.base}/lib">
106 <include name="*" />
107 </fileset>
108 </copy>
109 <copy todir="${main.libdir-src}">
110 <fileset dir="${slc.base}/lib-src">
111 <include name="*" />
112 </fileset>
113 </copy>
114 </target>
115
116 <target name="build.main" depends="init.internal,init.slcbase,init">
117 <compile artifact="${main.artifact}" srcdir="${main.srcdir}" />
118 </target>
119
120 <target name="build.test" depends="build.main">
121 <compile artifact="${test.artifact}"
122 srcdir="${test.srcdir}"
123 classpathref="cp.test" />
124 </target>
125
126 <target name="jar.main" depends="build.test">
127 <createJar artifact="${main.artifact}" srcdir="${main.srcdir}" />
128 </target>
129
130 <target name="jar.sources" unless="flag.noSources">
131 <createSourcesJar artifact="${main.artifact}" srcdir="${main.srcdir}" />
132 </target>
133
134 <target name="jar.test" depends="jar.main,jar.sources">
135 <createJar artifact="${test.artifact}" srcdir="${test.srcdir}" />
136 </target>
137
138 <target name="dist.unittest" depends="jar.test">
139 <mkdir dir="${dist.junit}/xml" />
140 <junit printsummary="yes" haltonfailure="no">
141 <classpath>
142 <path refid="cp.test" />
143 <path location="${dist.jar}/${test.artifact}.jar" />
144 </classpath>
145
146 <formatter type="xml" />
147
148 <batchtest fork="yes" todir="${dist.junit}/xml">
149 <fileset dir="${test.srcdir}">
150 <include name="**/*Test*.java" />
151 <exclude name="**/Abstract*.java" />
152 </fileset>
153 </batchtest>
154 </junit>
155
156 <junitreport todir="${dist.junit}">
157 <fileset dir="${dist.junit}/xml">
158 <include name="*.xml" />
159 </fileset>
160 <report format="frames" todir="${dist.junit}" />
161 </junitreport>
162 </target>
163
164 <target name="package.common"
165 depends="dist.unittest,dist.api,dist.apiWithSlc,dist.dependencies,dist.appli">
166 </target>
167
168 <target name="dist.package" depends="package.common">
169 <copy todir="${dist.base}">
170 <fileset dir="src/main/config" includes="**/*" />
171 </copy>
172 <copy todir="${dist.lib}">
173 <fileset dir="${dist.jar}" includes="*.jar" excludes="*-test.jar" />
174 </copy>
175
176 <zip destfile="${package.base}/${package.name}.zip">
177 <zipfileset dir="${dist.base}"
178 prefix="${package.prefix}-${package.version}">
179 <include name="**/*" />
180 </zipfileset>
181 </zip>
182 </target>
183
184 <target name="dist.basePackage" depends="package.common">
185 <copy todir="${dist.base}">
186 <fileset dir="src/main/config" includes="**/*" />
187 </copy>
188 <copy todir="${dist.lib}">
189 <fileset dir="${dist.jar}" includes="*.jar" excludes="*-test.jar" />
190 </copy>
191
192 <zip destfile="${package.base}/${basePackage.name}.zip">
193 <zipfileset dir="${dist.base}">
194 <exclude name="build/**" />
195 <include name="**/*" />
196 </zipfileset>
197 </zip>
198 </target>
199
200 <target name="dist.dependencies" if="flag.withDependencies">
201 <copy todir="${dist.lib}">
202 <fileset dir="${main.libdir}" includes="*.jar" />
203 </copy>
204
205 </target>
206
207 <target name="dist.appli" if="appli.base">
208 <copy todir="${dist.appli}">
209 <fileset dir="${appli.base}" includes="**" />
210 </copy>
211
212 </target>
213
214 <target name="dist.api" unless="slc.basePackage">
215 <api artifact="${main.artifact}" srcdir="${main.srcdir}" />
216
217 </target>
218
219 <target name="dist.apiWithSlc" if="slc.basePackage">
220 <api artifact="${main.artifact}" srcdir="${main.srcdir}">
221 <links>
222 <link href="../../argeo-slc/api" />
223 </links>
224 </api>
225
226 </target>
227 </project>