source: java/build.xml @ 61f21c5

abac0-leakabac0-meimei-idmei-rt0-nmei_rt0tvf-new-xml
Last change on this file since 61f21c5 was 797bebe, checked in by Ted Faber <faber@…>, 11 years ago

Add Writer & checkpoint

  • Property mode set to 100644
File size: 4.3 KB
Line 
1<!--
2  Project file for ant to build java ABAC library and test cases. 
3  Requires Jung and bouncycastle.
4
5  Targets:
6    all: clean then compile and make docs
7    compile: build the library and test programs
8    run-test: run a simple test program in GraphTest.java (params in target)
9    run-dump: run a program to dump a certificate in ASN1 (params in target)
10    jar: build jabac.jar in build/jar/jabac.jar
11    doc: greate API javadocs in ./doc
12    dev-doc: create developer API javadocs in ./dev-doc (includes
13            package/private/protected functions)
14    clean: remove created files (includes .der and .pem in this directory)
15-->
16
17<project name="jabac" default="all">
18
19  <property name="src.dir" value="."/>
20  <property name="lib.dir" value="jar"/>
21  <property name="build.dir" value="build"/>
22  <property name="classes.dir" value="${build.dir}/classes"/>
23  <property name="jar.dir" value="${build.dir}/jar"/>
24  <property name="doc.dir" value="./doc"/>
25  <property name="devdoc.dir" value="./dev-doc"/>
26  <property name="main.class" value="GraphTest"/>
27  <property name="dump.class" value="Dumper"/>
28  <property name="read.class" value="Reader"/>
29  <property name="write.class" value="Writer"/>
30  <property name="version" value="1.3"/>
31
32  <path id="compile.classpath">
33    <fileset dir="${lib.dir}" includes="**/*.jar"/>
34  </path>
35
36  <target name="all" depends="clean, compile, jar, doc, dev-doc"
37    description="Clean then build" />
38
39  <target name="clean">
40    <delete dir="${build.dir}"/>
41    <delete dir="${doc.dir}"/>
42    <delete dir="${devdoc.dir}"/>
43    <delete>
44      <fileset dir="${basedir}" includes="**/*.der"/>
45      <fileset dir="${basedir}" includes="**/*.pem"/>
46      <fileset dir="${basedir}" includes="**/*.zip"/>
47    </delete>
48  </target>
49
50
51  <target name="compile" description="Compile the source">
52    <mkdir dir="${classes.dir}" />
53    <javac srcdir="${src.dir}" destdir="${classes.dir}" 
54      classpathref="compile.classpath" includeAntRuntime="no"/>
55  </target>
56
57  <target name="jar" depends="compile" description="Make a jar">
58    <mkdir dir="${jar.dir}"/>
59    <jar destfile="${jar.dir}/jabac-${version}.jar" basedir="${classes.dir}"
60      excludes="**/GraphTest.class **/Dumper.class">
61      <manifest>
62        <attribute name="Class-Path" value="${classpath}" />
63      </manifest>
64    </jar>
65  </target>
66
67  <target name="doc" description="Generate API documentation">
68    <mkdir dir="${doc.dir}"/>
69    <javadoc sourcepath="${src.dir}" destdir="${doc.dir}"
70      classpathref="compile.classpath" access="public"
71      noqualifier="java.lang:java.io:java.util:java.security:java.security.cert"/>
72  </target>
73
74  <target name="dev-doc" description="Generate developer API documentation">
75    <mkdir dir="${doc.dir}"/>
76    <javadoc sourcepath="${src.dir}" destdir="${devdoc.dir}" access="private"
77      classpathref="compile.classpath" 
78      noqualifier="java.lang:java.io:java.util:java.security:java.security.cert"/>
79  </target>
80
81  <target name="run-test" depends="compile" description="run visualizer">
82    <java classname="${main.class}" fork="true" >
83      <classpath>
84        <path refid="compile.classpath"/>
85        <pathelement path="${classes.dir}"/>
86      </classpath>
87      <arg file="../examples/experiment_create/"/>
88      <arg value="Acme.experiment_create"/>
89      <arg value="Bob"/>
90    </java>
91  </target>
92
93  <target name="run-dump" depends="compile" description="run dumper">
94    <java classname="${dump.class}" fork="true" >
95      <classpath>
96        <path refid="compile.classpath"/>
97        <pathelement path="${classes.dir}"/>
98      </classpath>
99      <arg file="attr0.der"/>
100    </java>
101  </target>
102
103  <target name="run-read" depends="compile" description="run visualizer">
104    <java classname="${read.class}" fork="true" >
105      <classpath>
106        <path refid="compile.classpath"/>
107        <pathelement path="${classes.dir}"/>
108      </classpath>
109      <arg file="./fedid.pem"/>
110      <arg file="./test.xml"/>
111    </java>
112  </target>
113
114  <target name="run-write" depends="compile" description="run visualizer">
115    <java classname="${write.class}" fork="true" >
116      <classpath>
117        <path refid="compile.classpath"/>
118        <pathelement path="${classes.dir}"/>
119      </classpath>
120      <arg file="./fedid.pem"/>
121      <arg value="0a778934b93d546406d195d18e4f208af11ea84a.experiment_create"/>
122      <arg value="Bob"/>
123      <arg file="./test.xml"/>
124    </java>
125  </target>
126</project>
Note: See TracBrowser for help on using the repository browser.