]> git.argeo.org Git - gpl/argeo-slc.git/blob - org.argeo.slc/src/main/config/include/ant/slc-factory-targets.xml
Introduce build scripts
[gpl/argeo-slc.git] / org.argeo.slc / src / main / config / include / ant / slc-factory-targets.xml
1 <project default="all">
2 <!-- TO BE OVERRIDDEN -->
3 <property name="package.type" value="I" />
4 <property name="main.artifact" value="${package.prefix}" />
5 <property name="test.artifact" value="${package.prefix}-test" />
6
7 <property name="main.srcdir" location="src/main/java" />
8 <property name="main.libdir" location="lib" />
9 <property name="test.srcdir" location="src/test/java" />
10
11 <property name="package.base" location="target/package/" />
12
13 <property name="dist.base" location="target/dist/" />
14 <property name="dist.doc" location="${dist.base}/doc" />
15 <property name="dist.lib" location="${dist.base}/lib" />
16
17 <property name="dist.jar" location="target/jar" />
18
19 <property name="compile.base" location="target/compile" />
20
21 <path id="cp.main">
22 <fileset dir="${main.libdir}">
23 <include name="**/*.jar" />
24 </fileset>
25 </path>
26
27 <path id="cp.test">
28 <fileset dir="${main.libdir}">
29 <include name="**/*.jar" />
30 </fileset>
31 <pathelement location="${compile.base}/${main.artifact}" />
32 </path>
33
34 <import file="slc-factory-macrodefs.xml" />
35
36 <target name="all" depends="dist.package">
37 <echo message="Build of ${package.name} completed" />
38 </target>
39
40 <target name="clean">
41 <delete dir="${dist.jar}" />
42 <delete dir="${dist.base}" />
43 <delete dir="${package.base}" />
44 <delete dir="${compile.base}" />
45 </target>
46
47
48 <target name="init">
49 <!-- To be overriden -->
50 </target>
51
52 <target name="initInternal">
53 <fail unless="package.version"
54 message="Property 'package.version' must be set" />
55 <fail unless="package.prefix"
56 message="Property 'package.prefix' must be set" />
57
58 <tstamp>
59 <format property="package.tstamp" pattern="yyMMddHHmmss" />
60 </tstamp>
61 <property name="package.releaseId"
62 value="${package.version}.${package.tstamp}${package.type}" />
63
64 <property name="package.name"
65 value="${package.prefix}-${package.releaseId}" />
66
67 <mkdir dir="${dist.jar}" />
68 <mkdir dir="${dist.base}" />
69 <mkdir dir="${package.base}" />
70 <mkdir dir="${compile.base}" />
71
72 <echo message="Build of ${package.name} started." />
73 </target>
74
75 <target name="build.main" depends="initInternal,init">
76 <compile artifact="${main.artifact}" srcdir="${main.srcdir}" />
77 </target>
78
79 <target name="build.test" depends="build.main">
80 <compile artifact="${test.artifact}"
81 srcdir="${test.srcdir}"
82 classpathref="cp.test" />
83 </target>
84
85 <target name="jar.main" depends="build.test">
86 <createJar artifact="${main.artifact}" srcdir="${main.srcdir}" />
87 </target>
88
89 <target name="jar.test" depends="jar.main">
90 <createJar artifact="${test.artifact}" srcdir="${test.srcdir}" />
91 </target>
92
93 <target name="dist.unittest" depends="jar.test">
94 </target>
95
96 <target name="dist.package" depends="dist.unittest,dist.api,dist.dependencies">
97 <copy todir="${dist.base}">
98 <fileset dir="src/main/config" includes="**/*" />
99 </copy>
100 <copy todir="${dist.lib}">
101 <fileset dir="${dist.jar}" includes="*.jar" excludes="*-test.jar" />
102 </copy>
103
104 <zip destfile="${package.base}/${package.name}.zip">
105 <zipfileset dir="${dist.base}" prefix="${package.prefix}-${package.version}">
106 <include name="**/*" />
107 </zipfileset>
108 </zip>
109 </target>
110
111 <target name="dist.dependencies" if="flag.withDependencies">
112 <copy todir="${dist.lib}">
113 <fileset dir="${main.libdir}" includes="*.jar" />
114 </copy>
115
116 </target>
117
118 <target name="dist.api">
119 <api artifact="${main.artifact}" srcdir="${main.srcdir}">
120 </api>
121 </target>
122 </project>