1 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2 <project basedir="." default="all" 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="mysql-connector-java-5.1.31-bin.jar"/>
9 <property name="juintexec" value="."/>
10 <path id="JUnit 4.libraryclasspath">
11 <pathelement location="${juintexec}/junit.jar"/>
12 <pathelement location="${juintexec}/org.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 depends="clean" name="cleanall"/>
63 <target depends="build-project, native" name="build"/>
64 <target depends="init" name="build-project">
65 <echo message="${ant.project.name}: ${ant.file}"/>
66 <javac debug="true" debuglevel="${debuglevel}" destdir="bin" includeantruntime="false" source="${source}" target="${target}">
67 <src path="lib/servlet-api"/>
68 <src path="lib/jetty"/>
69 <src path="lib/jtar"/>
72 <classpath refid="cacert-gigi.classpath"/>
76 <target name="native">
77 <exec executable="make" dir="natives"/>
80 <target depends="build" name="pack">
81 <jar destfile="gigi.jar" basedir="bin" manifest="Gigi.MF"/>
84 <target depends="test,native" name="bundle">
85 <zip destfile="gigi-linux_amd64.zip" basedir="." includes="gigi.jar,native/*.so,doc/tableStructure.sql,static/**,templates/**"/>
87 <target name="static-bundle">
88 <tar destfile="static.tar.gz" compression="gzip" basedir="." includes="doc/tableStructure.sql,static/**,templates/**"/>
91 <target name="all" depends="bundle,static-bundle"/>
94 <target depends="init,build-project" name="build-project-test">
95 <echo message="${ant.project.name}: ${ant.file}"/>
96 <javac debug="true" debuglevel="${debuglevel}" destdir="bintest" includeantruntime="false" source="${source}" target="${target}">
98 <classpath refid="cacert-gigi.test.classpath"/>
101 <target name="check-locale">
102 <available file="locale/de.xml" property="locale.present"/>
104 <target name="FetchLocales" depends="check-locale" unless="locale.present">
105 <java classname="org.cacert.gigi.util.FetchLocales" failonerror="true" fork="yes">
106 <classpath refid="cacert-gigi.classpath"/>
109 <target name="check-generateKeys">
110 <available file="config/keystore.pkcs12" property="keystore.present"/>
112 <target name="generateKeys" depends="check-generateKeys" unless="keystore.present">
113 <exec executable="./generateKeys.sh" dir="doc/scripts"/>
114 <exec executable="./generateTruststore.sh" dir="doc/scripts">
115 <arg value="-noprompt"/>
118 <target name="test" depends="build-project-test,generateKeys,FetchLocales,pack">
119 <mkdir dir="${junit.output.dir}"/>
120 <junit fork="yes" printsummary="withOutAndErr">
121 <formatter type="xml"/>
122 <batchtest fork="yes" todir="${junit.output.dir}">
123 <fileset dir="tests">
124 <include name="**/*.java"/>
125 <exclude name="**/testUtils/**"/>
128 <classpath refid="cacert-gigi.test.classpath"/>
131 <target name="junitreport">
132 <junitreport todir="${junit.output.dir}">
133 <fileset dir="${junit.output.dir}">
134 <include name="TEST-*.xml"/>
136 <report format="frames" todir="${junit.output.dir}"/>