]> git.argeo.org Git - gpl/argeo-slc.git/blob - org.argeo.slc/src/main/config/include/ant/slc-factory-targets.xml
7aa9930b850460097a245d3f949e10747be528c6
[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 <include name="slc.*" />
102 </fileset>
103 </copy>
104
105 <copy todir="${main.libdir}">
106 <fileset dir="${slc.base}/lib">
107 <include name="*" />
108 </fileset>
109 </copy>
110 <copy todir="${main.libdir-src}">
111 <fileset dir="${slc.base}/lib-src">
112 <include name="*" />
113 </fileset>
114 </copy>
115 </target>
116
117 <target name="build.main" depends="init.internal,init.slcbase,init">
118 <compile artifact="${main.artifact}" srcdir="${main.srcdir}" />
119 </target>
120
121 <target name="build.test" depends="build.main">
122 <compile artifact="${test.artifact}"
123 srcdir="${test.srcdir}"
124 classpathref="cp.test" />
125 </target>
126
127 <target name="jar.main" depends="build.test">
128 <createJar artifact="${main.artifact}" srcdir="${main.srcdir}" />
129 </target>
130
131 <target name="jar.sources" unless="flag.noSources">
132 <createSourcesJar artifact="${main.artifact}" srcdir="${main.srcdir}" />
133 </target>
134
135 <target name="jar.test" depends="jar.main,jar.sources">
136 <createJar artifact="${test.artifact}" srcdir="${test.srcdir}" />
137 </target>
138
139 <target name="dist.unittest" depends="jar.test">
140 <mkdir dir="${dist.junit}/xml" />
141 <junit printsummary="yes" haltonfailure="no">
142 <classpath>
143 <path refid="cp.test" />
144 <path location="${dist.jar}/${test.artifact}.jar" />
145 </classpath>
146
147 <formatter type="xml" />
148
149 <batchtest fork="yes" todir="${dist.junit}/xml">
150 <fileset dir="${test.srcdir}">
151 <include name="**/*Test*.java" />
152 <exclude name="**/Abstract*.java" />
153 </fileset>
154 </batchtest>
155 </junit>
156
157 <junitreport todir="${dist.junit}">
158 <fileset dir="${dist.junit}/xml">
159 <include name="*.xml" />
160 </fileset>
161 <report format="frames" todir="${dist.junit}" />
162 </junitreport>
163 </target>
164
165 <target name="package.common"
166 depends="dist.unittest,dist.api,dist.apiWithSlc,dist.dependencies,dist.appli">
167 </target>
168
169 <target name="dist.package" depends="package.common">
170 <copy todir="${dist.base}">
171 <fileset dir="src/main/config" includes="**/*" />
172 </copy>
173 <copy todir="${dist.lib}">
174 <fileset dir="${dist.jar}" includes="*.jar" excludes="*-test.jar" />
175 </copy>
176
177 <zip destfile="${package.base}/${package.name}.zip">
178 <zipfileset dir="${dist.base}"
179 prefix="${package.prefix}-${package.version}">
180 <include name="**/*" />
181 </zipfileset>
182 </zip>
183 </target>
184
185 <target name="dist.basePackage" depends="package.common">
186 <copy todir="${dist.base}">
187 <fileset dir="src/main/config" includes="**/*" />
188 </copy>
189 <copy todir="${dist.lib}">
190 <fileset dir="${dist.jar}" includes="*.jar" excludes="*-test.jar" />
191 </copy>
192
193 <zip destfile="${package.base}/${basePackage.name}.zip">
194 <zipfileset dir="${dist.base}">
195 <exclude name="build/**" />
196 <include name="**/*" />
197 </zipfileset>
198 </zip>
199 </target>
200
201 <target name="dist.dependencies" if="flag.withDependencies">
202 <copy todir="${dist.lib}">
203 <fileset dir="${main.libdir}" includes="*.jar" />
204 </copy>
205
206 </target>
207
208 <target name="dist.appli" if="appli.base">
209 <copy todir="${dist.appli}">
210 <fileset dir="${appli.base}" includes="**" />
211 </copy>
212
213 </target>
214
215 <target name="dist.api" unless="slc.basePackage">
216 <api artifact="${main.artifact}" srcdir="${main.srcdir}" />
217
218 </target>
219
220 <target name="dist.apiWithSlc" if="slc.basePackage">
221 <api artifact="${main.artifact}" srcdir="${main.srcdir}">
222 <links>
223 <link href="../../argeo-slc/api" />
224 </links>
225 </api>
226
227 </target>
228 </project>