source: java/build.xml @ 9f3f3e4

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

Make sure regression test runs on clean start

  • Property mode set to 100644
File size: 7.5 KB
RevLine 
[edf9e1d]1<!--
2  Project file for ant to build java ABAC library and test cases. 
3  Requires Jung and bouncycastle.
4
5  Targets:
[4ab0561]6    all: clean then compile and make docs
[edf9e1d]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
[20d3d3c]17<project name="jabac" default="all">
[edf9e1d]18
[2750153]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"/>
[008dc25]23  <property name="example.dir" value="${src.dir}/example"/>
[fe71561]24  <property name="regression.dir" value="${src.dir}/regression"/>
[2750153]25  <property name="jar.dir" value="${build.dir}/jar"/>
[e36ea1d]26  <property name="doc.dir" value="./doc"/>
[1b88de8]27  <property name="devdoc.dir" value="./dev-doc"/>
[7ad0076]28  <property name="main.class" value="GraphTest"/>
[ea3bddc]29  <property name="dump.class" value="Dumper"/>
[7f16578]30  <property name="read.class" value="Reader"/>
[797bebe]31  <property name="write.class" value="Writer"/>
[8375d4f]32  <property name="regression.class" value="Regression"/>
[6b31de6]33  <property name="example.class" value="CreateExample"/>
[4560b65]34  <property name="version" value="1.4"/>
[2750153]35
[edf9e1d]36  <path id="compile.classpath">
37    <fileset dir="${lib.dir}" includes="**/*.jar"/>
38  </path>
39
[4ab0561]40  <target name="all" depends="clean, compile, jar, doc, dev-doc"
41    description="Clean then build" />
[edf9e1d]42
[2750153]43  <target name="clean">
44    <delete dir="${build.dir}"/>
[e36ea1d]45    <delete dir="${doc.dir}"/>
[1b88de8]46    <delete dir="${devdoc.dir}"/>
[008dc25]47    <delete dir="${example.dir}"/>
[9f3f3e4]48    <delete dir="${src.dir}/scratch"/>
[2750153]49  </target>
50
51
52  <target name="compile" description="Compile the source">
53    <mkdir dir="${classes.dir}" />
54    <javac srcdir="${src.dir}" destdir="${classes.dir}" 
[20d3d3c]55      classpathref="compile.classpath" includeAntRuntime="no"/>
[2750153]56  </target>
57
[1a7e6d3]58  <target name="jar" depends="compile" description="Make a jar">
59    <mkdir dir="${jar.dir}"/>
[4ab0561]60    <jar destfile="${jar.dir}/jabac-${version}.jar" basedir="${classes.dir}"
[8375d4f]61      excludes="**/GraphTest.class **/Dumper.class net/deterlab/abac/regression/*">
[1a7e6d3]62      <manifest>
63        <attribute name="Class-Path" value="${classpath}" />
64      </manifest>
65    </jar>
66  </target>
67
[e36ea1d]68  <target name="doc" description="Generate API documentation">
69    <mkdir dir="${doc.dir}"/>
70    <javadoc sourcepath="${src.dir}" destdir="${doc.dir}"
71      classpathref="compile.classpath" access="public"
[98a9afb]72      excludepackagenames="net.deterlab/abac.regression"
[e36ea1d]73      noqualifier="java.lang:java.io:java.util:java.security:java.security.cert"/>
74  </target>
75
[1b88de8]76  <target name="dev-doc" description="Generate developer API documentation">
77    <mkdir dir="${doc.dir}"/>
78    <javadoc sourcepath="${src.dir}" destdir="${devdoc.dir}" access="private"
79      classpathref="compile.classpath" 
[98a9afb]80      excludepackagenames="net.deterlab/abac.regression"
[1b88de8]81      noqualifier="java.lang:java.io:java.util:java.security:java.security.cert"/>
82  </target>
83
[008dc25]84  <target name="run-test-default" depends="compile,run-create-default" description="run test query on default example">
[1a7e6d3]85    <java classname="${main.class}" fork="true" >
86      <classpath>
87        <path refid="compile.classpath"/>
88        <pathelement path="${classes.dir}"/>
89      </classpath>
[008dc25]90      <arg file="./example/default"/>
[281158a]91      <arg value="Acme.experiment_create"/>
92      <arg value="Bob"/>
[1a7e6d3]93    </java>
94  </target>
[1b88de8]95
[008dc25]96  <target name="run-test-x509" depends="compile,run-create-x509" description="run test query on X.509 example">
97    <java classname="${main.class}" fork="true" >
[ea3bddc]98      <classpath>
99        <path refid="compile.classpath"/>
100        <pathelement path="${classes.dir}"/>
101      </classpath>
[008dc25]102      <arg file="./example/X509Credential"/>
103      <arg value="Acme.experiment_create"/>
104      <arg value="Bob"/>
[ea3bddc]105    </java>
106  </target>
[7f16578]107
[008dc25]108  <target name="run-test-geni" depends="compile,run-create-geni" description="run test query on GENI example">
109    <java classname="${main.class}" fork="true" >
[7f16578]110      <classpath>
111        <path refid="compile.classpath"/>
112        <pathelement path="${classes.dir}"/>
113      </classpath>
[008dc25]114      <arg file="./example/GENICredential"/>
115      <arg value="Acme.experiment_create"/>
116      <arg value="Bob"/>
[7f16578]117    </java>
118  </target>
[fe71561]119
120  <target name="run-test-priv" depends="compile,run-create-priv" description="run test query on GENI priv example">
121    <java classname="${main.class}" fork="true" >
122      <classpath>
123        <path refid="compile.classpath"/>
124        <pathelement path="${classes.dir}"/>
125      </classpath>
126      <arg file="./example/priv"/>
127      <arg value="Acme.experiment_create"/>
128      <arg value="Bob"/>
129    </java>
130  </target>
131
132  <target name="run-test" depends="run-test-default,run-test-x509,run-test-geni,run-test-priv" description="Run all the test queries"/>
[797bebe]133
[008dc25]134  <target name="run-dump" depends="compile" description="run dumper">
135    <java classname="${dump.class}" fork="true" >
[797bebe]136      <classpath>
137        <path refid="compile.classpath"/>
138        <pathelement path="${classes.dir}"/>
139      </classpath>
[008dc25]140      <arg file="attr0.der"/>
[797bebe]141    </java>
142  </target>
[3612811]143
[008dc25]144  <target name="run-create-default" depends="compile" description="Create example certs in default format">
[3612811]145    <java classname="${example.class}" fork="true" >
146      <classpath>
147        <path refid="compile.classpath"/>
148        <pathelement path="${classes.dir}"/>
149      </classpath>
[6b31de6]150      <arg value="default"/>
151    </java>
152  </target>
153
[008dc25]154  <target name="run-create-geni" depends="compile" description="Create example certs in GENI format">
[6b31de6]155    <java classname="${example.class}" fork="true" >
156      <classpath>
157        <path refid="compile.classpath"/>
158        <pathelement path="${classes.dir}"/>
159      </classpath>
160      <arg value="net.deterlab.abac.GENICredential"/>
161    </java>
162  </target>
163
[fe71561]164  <target name="run-create-priv" depends="compile" description="Create example certs in GENI priv format">
165    <delete dir="${example.dir}/priv"/>
166    <mkdir dir="${example.dir}/priv"/>
167    <copy file="${regression.dir}/priv.xml" 
168        tofile="${example.dir}/priv/priv.xml"/>
169    <copy file="${regression.dir}/owner_ID.pem" 
170        tofile="${example.dir}/priv/owner_ID.pem"/>
171    <copy file="${regression.dir}/issuer_ID.pem" 
172        tofile="${example.dir}/priv/issuer_ID.pem"/>
173    <copy file="${regression.dir}/target_ID.pem" 
174        tofile="${example.dir}/priv/target_ID.pem"/>
175  </target>
176
[008dc25]177  <target name="run-create-x509" depends="compile" description="Create example certs in X.509 format">
[6b31de6]178    <java classname="${example.class}" fork="true" >
179      <classpath>
180        <path refid="compile.classpath"/>
181        <pathelement path="${classes.dir}"/>
182      </classpath>
183      <arg value="net.deterlab.abac.X509Credential"/>
[3612811]184    </java>
185  </target>
[008dc25]186
187  <target name="run-create" depends="run-create-default,run-create-x509,run-create-geni" description="Create all the examples"/>
[8375d4f]188
189  <target name="create-scratch" depends="compile" description="Create scratch directory">
190    <delete dir="${src.dir}/scratch"/>
191    <mkdir dir="${src.dir}/scratch"/>
192  </target>
193
[9f3f3e4]194  <target name="run-regression" depends="compile,create-scratch" description="Run the regression test program">
[8375d4f]195    <java classname="${regression.class}" fork="true" >
196      <classpath>
197        <path refid="compile.classpath"/>
198        <pathelement path="${classes.dir}"/>
199      </classpath>
200      <arg file="${src.dir}/regression"/>
201      <arg file="${src.dir}/scratch"/>
202    </java>
203  </target>
204
205  <target name="regression-test" depends="create-scratch,run-regression" description="Run the regression test "/>
[2750153]206</project>
Note: See TracBrowser for help on using the repository browser.