1 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2 <project basedir="." default="develop" name="cacert-gigi" xmlns:jacoco="antlib:org.jacoco.ant">
4 <taskdef uri="antlib:org.jacoco.ant" resource="org/jacoco/ant/antlib.xml">
5 <classpath path="/usr/share/java/jacocoant.jar" />
8 <property environment="env" />
9 <property name="PACKAGE" value="cacert-gigi" />
10 <property name="junit.output.dir" value="junit" />
11 <property name="debuglevel" value="source,lines,vars" />
12 <property name="target" value="1.8" />
13 <property name="source" value="1.8" />
14 <property name="mysqlconnector" value="/usr/share/java/mysql-connector-java.jar" />
15 <property name="juintexec" value="/usr/share/java" />
16 <path id="JUnit 4.libraryclasspath">
17 <pathelement location="${juintexec}/junit4.jar" />
18 <pathelement location="${juintexec}/hamcrest-core.jar" />
20 <path id="cacert-gigi.classpath">
21 <pathelement location="bin" />
22 <pathelement location="binutil" />
23 <pathelement location="${mysqlconnector}" />
25 <path id="cacert-gigi.test.classpath">
26 <pathelement location="bin" />
27 <pathelement location="binutil" />
28 <pathelement location="bintest" />
29 <path refid="JUnit 4.libraryclasspath" />
30 <pathelement location="${mysqlconnector}" />
34 <mkdir dir="binutil" />
35 <mkdir dir="bintest" />
37 <copy includeemptydirs="false" todir="bin">
38 <fileset dir="lib/servlet-api">
39 <exclude name="**/*.launch" />
40 <exclude name="**/*.java" />
43 <copy includeemptydirs="false" todir="bin">
44 <fileset dir="lib/jetty">
45 <exclude name="**/*.launch" />
46 <exclude name="**/*.java" />
49 <copy includeemptydirs="false" todir="bin">
51 <exclude name="**/*.launch" />
52 <exclude name="**/*.java" />
55 <copy includeemptydirs="false" todir="bin">
57 <exclude name="**/*.launch" />
58 <exclude name="**/*.java" />
61 <copy includeemptydirs="false" todir="bintest">
63 <exclude name="**/*.launch" />
64 <exclude name="**/*.java" />
71 <target name="clean-test">
72 <delete dir="bintest" />
73 <delete dir="cocoReport" failonerror="false"/>
76 <target depends="clean,clean-test" name="cleanall" />
77 <target depends="build-project, native" name="build" />
78 <target depends="init" name="build-project">
79 <echo message="${ant.project.name}: ${ant.file}" />
80 <javac debug="true" debuglevel="${debuglevel}" destdir="bin"
81 includeantruntime="false" source="${source}" target="${target}">
82 <compilerarg value="-XDignore.symbol.file"/>
83 <src path="lib/servlet-api" />
84 <src path="lib/jetty" />
85 <src path="lib/jtar" />
87 <classpath refid="cacert-gigi.classpath" />
89 <javac debug="true" debuglevel="${debuglevel}" destdir="binutil"
90 includeantruntime="false" source="${source}" target="${target}">
91 <compilerarg value="-XDignore.symbol.file"/>
93 <classpath refid="cacert-gigi.classpath" />
97 <target name="native">
98 <exec executable="make" dir="natives"/>
101 <target depends="build" name="pack">
102 <jar destfile="gigi.jar" basedir="bin" manifest="Gigi.MF" update="false"/>
103 <jar destfile="gigi.jar" basedir="binutil" update="on"/>
106 <target depends="test,native" name="bundle">
107 <zip destfile="gigi-linux_amd64.zip" basedir="."
108 includes="gigi.jar,native/*.so,doc/tableStructure.sql,static/**,templates/**" />
110 <target name="static-bundle">
112 <mkdir dir="work/static"/>
113 <copy todir="work/static">
114 <fileset dir="static"/>
116 <move file="work/static/static/images/cacert4-test.png" tofile="work/static/static/images/cacert4.png"/>
117 <delete file="work/static/static/image/cacert4-test.png"/>
118 <tar destfile="static.tar.gz" compression="gzip" basedir="work"
119 includes="../doc/tableStructure.sql,**,templates/**" />
122 <target name="static-bundle-release">
124 <mkdir dir="work/static"/>
125 <copy todir="work/static">
126 <fileset dir="static"/>
128 <delete file="work/static/static/image/cacert4-test.png"/>
129 <tar destfile="static.tar.gz" compression="gzip" basedir="work"
130 includes="../doc/tableStructure.sql,**,templates/**" />
133 <target name="develop" depends="bundle,static-bundle" />
135 <target name="release" depends="bundle,static-bundle-release" />
137 <target depends="init,build-project" name="build-project-test">
138 <echo message="${ant.project.name}: ${ant.file}" />
139 <javac debug="true" debuglevel="${debuglevel}" destdir="bintest"
140 includeantruntime="false" source="${source}" target="${target}">
141 <compilerarg value="-XDignore.symbol.file"/>
143 <classpath refid="cacert-gigi.test.classpath" />
146 <target name="check-locale">
147 <available file="locale/de.xml" property="locale.present" />
149 <target name="FetchLocales" depends="check-locale" unless="locale.present">
150 <java classname="org.cacert.gigi.util.FetchLocales" failonerror="true"
152 <classpath refid="cacert-gigi.classpath" />
155 <target name="check-generateKeys">
156 <available file="config/keystore.pkcs12" property="keystore.present" />
158 <target name="generateKeys" depends="check-generateKeys" unless="keystore.present">
159 <exec executable="./generateKeys.sh" dir="keys" />
160 <exec executable="./generateTruststore.sh" dir="keys">
161 <arg value="-noprompt" />
164 <target name="reset-db">
165 <copy file="config/test.properties" tofile="config/gigi.properties"/>
166 <java classname="org.cacert.gigi.util.DatabaseManager">
167 <arg value="--test"/>
168 <classpath refid="cacert-gigi.classpath" />
171 <target name="test" depends="build-project-test,generateKeys,FetchLocales,pack,reset-db">
172 <delete failonerror="false">
174 <include name="jacoco.exec"/>
175 <include name="tester.exec"/>
178 <mkdir dir="${junit.output.dir}" />
179 <junit fork="yes" printsummary="withOutAndErr">
180 <jvmarg value="-javaagent:/usr/share/java/jacocoagent.jar=destfile=tester.exec"/>
181 <formatter type="xml" />
182 <batchtest fork="yes" todir="${junit.output.dir}">
183 <fileset dir="tests">
184 <include name="**/*.java" />
185 <exclude name="**/testUtils/**" />
188 <classpath refid="cacert-gigi.test.classpath" />
191 <target name="junitreport">
192 <junitreport todir="${junit.output.dir}">
193 <fileset dir="${junit.output.dir}">
194 <include name="TEST-*.xml" />
196 <report format="frames" todir="${junit.output.dir}" />
199 <target name="generatecoco">
200 <jacoco:merge destfile="merged.exec">
201 <fileset dir="." includes="*.exec"/>
205 <file file="merged.exec" />
208 <structure name="CAcert gigi">
209 <group name="Server">
212 <include name="org/cacert/gigi/**"/>
215 <sourcefiles encoding="UTF-8">
217 <include name="org/cacert/gigi/**"/>
221 <group name="Testcases">
223 <fileset dir="bintest">
224 <include name="org/cacert/gigi/**"/>
227 <sourcefiles encoding="UTF-8">
228 <fileset dir="tests">
229 <include name="org/cacert/gigi/**"/>
235 <html destdir="cocoReport"/>
239 <target name="install-native" depends="native">
240 <mkdir dir="${env.DESTDIR}/usr/lib/jni"/>
241 <copy file="natives/libsetuid.so" todir="${env.DESTDIR}/usr/lib/jni"/>
243 <target name="install" depends="pack">
244 <mkdir dir="${env.DESTDIR}/usr/share/java"/>
245 <copy file="gigi.jar" tofile="${env.DESTDIR}/usr/share/java/gigi.jar"/>
247 <mkdir dir="${env.DESTDIR}/usr/bin"/>
248 <copy file="doc/scripts/gigi" tofile="${env.DESTDIR}/usr/bin/gigi"/>
250 <chmod file="${env.DESTDIR}/usr/bin/gigi" perm="+x"/>
251 <mkdir dir="${env.DESTDIR}/usr/share/dbconfig-common/data/${PACKAGE}/install/"/>
252 <copy file="doc/tableStructure.sql" tofile="${env.DESTDIR}/usr/share/dbconfig-common/data/${PACKAGE}/install/mysql.sql"/>
254 <mkdir dir="${env.DESTDIR}/usr/share/cacert-gigi/static"/>
255 <copy todir="${env.DESTDIR}/usr/share/cacert-gigi/static">
256 <fileset dir="static"/>
258 <mkdir dir="${env.DESTDIR}/var/lib/cacert-gigi/doc"/>
259 <exec executable="ln">
261 <arg value="/usr/share/dbconfig-common/data/${PACKAGE}/install/mysql.sql"/>
262 <arg value="${env.DESTDIR}/var/lib/cacert-gigi/doc/tableStructure.sql"/>
264 <mkdir dir="${env.DESTDIR}/var/lib/cacert-gigi/natives"/>
265 <delete failonerror="false" file="${env.DESTDIR}/var/lib/cacert-gigi/static"/>
266 <exec executable="ln">
268 <arg value="/usr/share/cacert-gigi/static"/>
269 <arg value="${env.DESTDIR}/var/lib/cacert-gigi/static"/>
271 <exec executable="ln">
273 <arg value="/usr/lib/jni/libsetuid.so"/>
274 <arg value="${env.DESTDIR}/var/lib/cacert-gigi/natives/libsetuid.so"/>
277 <mkdir dir="${env.DESTDIR}/etc/cacert-gigi"/>
278 <!--<copy todir="${env.DESTDIR}/DEBIAN">
279 <fileset dir="debian">