1 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2 <project basedir="." default="develop" name="cacert-gigi">
3 <property environment="env" />
4 <property name="junit.output.dir" value="junit" />
5 <property name="debuglevel" value="source,lines,vars" />
6 <property name="target" value="1.8" />
7 <property name="source" value="1.8" />
8 <property name="mysqlconnector" value="/usr/share/java/mysql-connector-java.jar" />
9 <property name="juintexec" value="/usr/share/java" />
10 <path id="JUnit 4.libraryclasspath">
11 <pathelement location="${juintexec}/junit4.jar" />
12 <pathelement location="${juintexec}/hamcrest-core.jar" />
14 <path id="cacert-gigi.classpath">
15 <pathelement location="bin" />
16 <pathelement location="${mysqlconnector}" />
18 <path id="cacert-gigi.test.classpath">
19 <pathelement location="bin" />
20 <pathelement location="bintest" />
21 <path refid="JUnit 4.libraryclasspath" />
22 <pathelement location="${mysqlconnector}" />
26 <mkdir dir="bintest" />
28 <copy includeemptydirs="false" todir="bin">
29 <fileset dir="lib/servlet-api">
30 <exclude name="**/*.launch" />
31 <exclude name="**/*.java" />
34 <copy includeemptydirs="false" todir="bin">
35 <fileset dir="lib/jetty">
36 <exclude name="**/*.launch" />
37 <exclude name="**/*.java" />
40 <copy includeemptydirs="false" todir="bin">
42 <exclude name="**/*.launch" />
43 <exclude name="**/*.java" />
46 <copy includeemptydirs="false" todir="bin">
48 <exclude name="**/*.launch" />
49 <exclude name="**/*.java" />
52 <copy includeemptydirs="false" todir="bintest">
54 <exclude name="**/*.launch" />
55 <exclude name="**/*.java" />
62 <target name="clean-test">
63 <delete dir="bintest" />
65 <target depends="clean,clean-test" name="cleanall" />
66 <target depends="build-project, native" name="build" />
67 <target depends="init" name="build-project">
68 <echo message="${ant.project.name}: ${ant.file}" />
69 <javac debug="true" debuglevel="${debuglevel}" destdir="bin"
70 includeantruntime="false" source="${source}" target="${target}">
71 <compilerarg value="-XDignore.symbol.file"/>
72 <src path="lib/servlet-api" />
73 <src path="lib/jetty" />
74 <src path="lib/jtar" />
77 <classpath refid="cacert-gigi.classpath" />
81 <target name="native">
82 <exec executable="make" dir="natives"/>
85 <target depends="build" name="pack">
86 <jar destfile="gigi.jar" basedir="bin" manifest="Gigi.MF" />
89 <target depends="test,native" name="bundle">
90 <zip destfile="gigi-linux_amd64.zip" basedir="."
91 includes="gigi.jar,native/*.so,doc/tableStructure.sql,static/**,templates/**" />
93 <target name="static-bundle">
95 <mkdir dir="work/static"/>
96 <copy todir="work/static">
97 <fileset dir="static"/>
99 <move file="work/static/static/images/cacert4-test.png" tofile="work/static/static/images/cacert4.png"/>
100 <delete file="work/static/static/image/cacert4-test.png"/>
101 <tar destfile="static.tar.gz" compression="gzip" basedir="work"
102 includes="../doc/tableStructure.sql,**,templates/**" />
105 <target name="static-bundle-release">
107 <mkdir dir="work/static"/>
108 <copy todir="work/static">
109 <fileset dir="static"/>
111 <delete file="work/static/static/image/cacert4-test.png"/>
112 <tar destfile="static.tar.gz" compression="gzip" basedir="work"
113 includes="../doc/tableStructure.sql,**,templates/**" />
116 <target name="develop" depends="bundle,static-bundle" />
118 <target name="release" depends="bundle,static-bundle-release" />
120 <target depends="init,build-project" name="build-project-test">
121 <echo message="${ant.project.name}: ${ant.file}" />
122 <javac debug="true" debuglevel="${debuglevel}" destdir="bintest"
123 includeantruntime="false" source="${source}" target="${target}">
124 <compilerarg value="-XDignore.symbol.file"/>
126 <classpath refid="cacert-gigi.test.classpath" />
129 <target name="check-locale">
130 <available file="locale/de.xml" property="locale.present" />
132 <target name="FetchLocales" depends="check-locale" unless="locale.present">
133 <java classname="org.cacert.gigi.util.FetchLocales" failonerror="true"
135 <classpath refid="cacert-gigi.classpath" />
138 <target name="check-generateKeys">
139 <available file="config/keystore.pkcs12" property="keystore.present" />
141 <target name="generateKeys" depends="check-generateKeys" unless="keystore.present">
142 <exec executable="./generateKeys.sh" dir="keys" />
143 <exec executable="./generateTruststore.sh" dir="keys">
144 <arg value="-noprompt" />
147 <target name="test" depends="build-project-test,generateKeys,FetchLocales,pack">
148 <mkdir dir="${junit.output.dir}" />
149 <junit fork="yes" printsummary="withOutAndErr">
150 <jvmarg value="-javaagent:/usr/share/java/jacocoagent.jar=destfile=tester.exec"/>
151 <formatter type="xml" />
152 <batchtest fork="yes" todir="${junit.output.dir}">
153 <fileset dir="tests">
154 <include name="**/*.java" />
155 <exclude name="**/testUtils/**" />
158 <classpath refid="cacert-gigi.test.classpath" />
161 <target name="junitreport">
162 <junitreport todir="${junit.output.dir}">
163 <fileset dir="${junit.output.dir}">
164 <include name="TEST-*.xml" />
166 <report format="frames" todir="${junit.output.dir}" />