| <project name="plexi" default="build" basedir="."> |
| <description>GSA Adaptor library</description> |
| <tstamp/> |
| <property name="src.dir" location="src"/> |
| <property name="test.dir" location="test"/> |
| <property name="test.class" value="*Test"/> |
| <property name="build.dir" location="build"/> |
| <property name="build-src.dir" location="${build.dir}/src"/> |
| <property name="build-test.dir" location="${build.dir}/test"/> |
| <property name="build-instrument.dir" location="${build.dir}/instrument"/> |
| <property name="dist.dir" location="dist"/> |
| <property name="javadoc.dir" location="${build.dir}/javadoc"/> |
| <property name="resource.dir" location="resources"/> |
| <property name="lib.dir" location="lib"/> |
| <property name="junit.jar" location="${lib.dir}/junit-4.8.2.jar"/> |
| <property name="adaptor.pkg.dir" value="com/google/enterprise/adaptor"/> |
| <property name="adaptor.pkg.name" value="com.google.enterprise.adaptor"/> |
| <property name="adaptor.class" |
| value="${adaptor.pkg.name}.examples.AdaptorTemplate"/> |
| <property name="adaptor.args" value=""/> |
| <property name="cobertura.dir" value="${basedir}/../cobertura/"/> |
| <!-- Adaptor suffix for distribution files. Useful for placing version numbers |
| on our jars. --> |
| <condition property="adaptorlib.suffix" value="-${adaptorlib.version}"> |
| <isset property="adaptorlib.version"/> |
| </condition> |
| <!-- If adaptorlib.version isn't set, simply use the current date. --> |
| <property name="adaptorlib.suffix" value="-${DSTAMP}"/> |
| |
| <path id="adaptorlib.build.classpath"> |
| <fileset dir="${lib.dir}"> |
| <include name="json_simple-1.1.jar"/> |
| <include name="gdata-core-1.0.jar"/> |
| <include name="gdata-gsa-1.0.jar"/> |
| <include name="joda-time-1.6.jar"/> |
| <include name="opensaml-2.3.2.jar"/> |
| <include name="openws-1.3.1.jar"/> |
| <include name="xmltooling-1.2.2.jar"/> |
| <include name="guava-11.0.2.jar"/> |
| <include name="jsr305.jar"/> |
| <include name="gson-2.0.jar"/> |
| <include name="velocity-1.5.jar"/> |
| <include name="commons-daemon-1.0.15.jar"/> |
| </fileset> |
| </path> |
| |
| <path id="adaptorlib.run.classpath"> |
| <path refid="adaptorlib.build.classpath"/> |
| <pathelement location="${resource.dir}"/> |
| <path refid="opensaml.run.classpath"/> |
| </path> |
| |
| <path id="examples.build.classpath"> |
| <fileset dir="${lib.dir}"> |
| <include name="opencsv-2.3.jar"/> |
| <include name="j-calais-0.2.1.jar"/> |
| </fileset> |
| </path> |
| |
| <path id="examples.run.classpath"> |
| <path refid="examples.build.classpath"/> |
| <fileset dir="${lib.dir}"> |
| <include name="jackson-core-asl-1.5.5.jar"/> |
| <include name="jackson-jaxrs-1.5.5.jar"/> |
| <include name="jackson-mapper-asl-1.5.5.jar"/> |
| <include name="jersey-client-1.3.jar"/> |
| <include name="jersey-core-1.3.jar"/> |
| <include name="jsr311-api-1.1.1.jar"/> |
| </fileset> |
| </path> |
| |
| <path id="opensaml.run.classpath"> |
| <fileset dir="${lib.dir}"> |
| <include name="bcprov-jdk15-1.45.jar"/> |
| <!--include name="commons-codec-1.3.jar"/--> |
| <include name="commons-collections-3.1.jar"/> |
| <!--include name="commons-httpclient-3.1.jar"/--> |
| <include name="commons-lang-2.1.jar"/> |
| <!--include name="jcip-annotations-1.0.jar"/--> |
| <!--include name="jcl-over-slf4j-1.5.10.jar"/--> |
| <include name="joda-time-1.6.jar"/> |
| <!--include name="jul-to-slf4j-1.5.10.jar"/--> |
| <!--include name="log4j-over-slf4j-1.5.10.jar"/--> |
| <!--include name="not-yet-commons-ssl-0.3.9.jar"/--> |
| <include name="opensaml-2.3.2.jar"/> |
| <include name="openws-1.3.1.jar"/> |
| <include name="slf4j-api-1.5.10.jar"/> |
| <include name="velocity-1.5.jar"/> |
| <include name="xmlsec-1.4.3.jar"/> |
| <include name="xmltooling-1.2.2.jar"/> |
| |
| <!-- Libraries that are supposed to be endorsed, that we aren't having |
| endorsed. --> |
| <!--include name="resolver-2.9.1.jar"/--> |
| <!--include name="serializer-2.9.1.jar"/--> |
| <!--include name="xalan-2.7.1.jar"/--> |
| <include name="xercesImpl-2.9.1.jar"/> |
| <!--include name="xml-apis-2.9.1.jar"/--> |
| |
| <!-- Additional dependencies not included with opensaml. --> |
| <include name="slf4j-jdk14-1.5.10.jar"/> |
| <include name="commons-logging-api-1.1.1.jar"/> |
| </fileset> |
| </path> |
| |
| <path id="cobertura.classpath"> |
| <fileset dir="${cobertura.dir}" erroronmissingdir="false"> |
| <include name="cobertura.jar"/> |
| <include name="lib/**/*.jar"/> |
| </fileset> |
| </path> |
| |
| <target name="-check-instrument-uptodate"> |
| <uptodate property="instrument.uptodate" |
| targetfile="${build-instrument.dir}/cobertura.ser"> |
| <srcfiles dir="${build-src.dir}"/> |
| </uptodate> |
| </target> |
| |
| <target name="build" |
| depends="-real-build,-check-instrument-uptodate,clean-instrument" |
| description="Build source"/> |
| |
| <target name="-real-build"> |
| <mkdir dir="${build-src.dir}"/> |
| |
| <!-- Compile adaptorlib. --> |
| <javac srcdir="${src.dir}" destdir="${build-src.dir}" debug="true" |
| includeantruntime="false" encoding="utf-8" target="1.6" source="1.6"> |
| <compilerarg value="-Xlint:unchecked"/> |
| <compilerarg value="-Xlint:deprecation"/> |
| <classpath refid="adaptorlib.build.classpath"/> |
| <exclude name="${adaptor.pkg.dir}/examples/**"/> |
| <exclude name="${adaptor.pkg.dir}/experimental/**"/> |
| <include name="${adaptor.pkg.dir}/**"/> |
| </javac> |
| |
| <!-- Compile examples. --> |
| <javac srcdir="${src.dir}" destdir="${build-src.dir}" debug="true" |
| includeantruntime="false" encoding="utf-8" target="1.6" source="1.6"> |
| <compilerarg value="-Xlint:unchecked"/> |
| <classpath refid="examples.build.classpath"/> |
| <include name="${adaptor.pkg.dir}/examples/**"/> |
| </javac> |
| |
| <mkdir dir="${build-test.dir}"/> |
| <!-- Compile JUnit helper --> |
| <javac srcdir="${lib.dir}" destdir="${build-test.dir}" debug="true" |
| includeantruntime="true" encoding="utf-8" target="1.6" source="1.6"> |
| <compilerarg value="-Xlint:unchecked"/> |
| <classpath location="${junit.jar}"/> |
| <include name="JUnitLogFixFormatter.java"/> |
| </javac> |
| |
| <!-- Compile tests, excluding example and experimental tests. --> |
| <javac srcdir="${test.dir}" destdir="${build-test.dir}" debug="true" |
| includeantruntime="false" encoding="utf-8" target="1.6" source="1.6"> |
| <compilerarg value="-Xlint:unchecked"/> |
| <classpath refid="adaptorlib.build.classpath"/> |
| <classpath location="${build-src.dir}"/> |
| <classpath location="${junit.jar}"/> |
| <exclude name="${adaptor.pkg.dir}/examples/**"/> |
| <exclude name="${adaptor.pkg.dir}/experimental/**"/> |
| </javac> |
| |
| <!-- Compile tests for examples. --> |
| <javac srcdir="${test.dir}" destdir="${build-test.dir}" debug="true" |
| includeantruntime="false" encoding="utf-8" target="1.6" source="1.6"> |
| <compilerarg value="-Xlint:unchecked"/> |
| <classpath refid="examples.build.classpath"/> |
| <classpath location="${build-src.dir}"/> |
| <classpath location="${junit.jar}"/> |
| <include name="${adaptor.pkg.dir}/examples/**"/> |
| </javac> |
| |
| <!-- Compile experimental code. --> |
| <javac srcdir="${src.dir}" destdir="${build-src.dir}" debug="true" |
| includeantruntime="false" encoding="utf-8" target="1.6" source="1.6"> |
| <compilerarg value="-Xlint:unchecked"/> |
| <classpath refid="adaptorlib.build.classpath"/> |
| <classpath location="${lib.dir}/commons-fileupload-1.3.jar"/> |
| <include name="${adaptor.pkg.dir}/experimental/**"/> |
| </javac> |
| |
| <!-- Compile tests for experimental. --> |
| <javac srcdir="${test.dir}" destdir="${build-test.dir}" debug="true" |
| includeantruntime="false" encoding="utf-8" target="1.6" source="1.6"> |
| <compilerarg value="-Xlint:unchecked"/> |
| <classpath refid="adaptorlib.build.classpath"/> |
| <classpath location="${build-src.dir}"/> |
| <classpath location="${junit.jar}"/> |
| <include name="${adaptor.pkg.dir}/experimental/**"/> |
| </javac> |
| </target> |
| |
| <target name="-discover-version" unless="adaptorlib.version"> |
| <exec executable="git" outputproperty="adaptorlib.version" |
| logError="true" failifexecutionfails="false"> |
| <arg value="describe"/> |
| <arg value="--always"/> |
| </exec> |
| <!-- Set version if git describe failed. --> |
| <property name="adaptorlib.version" value="unknown"/> |
| </target> |
| |
| <target name="dist" description="Generate distribution binaries" |
| depends="clean,test,package"/> |
| |
| <target name="package" description="Generate binaries" |
| depends="build,javadoc,-discover-version"> |
| <property name="dist.staging.dir" value="${build.dir}/dist/staging"/> |
| |
| <delete dir="${build.dir}/dist"/> |
| <delete dir="${dist.dir}"/> |
| |
| <mkdir dir="${build.dir}/dist"/> |
| <mkdir dir="${build.dir}/dist/staging"/> |
| <mkdir dir="${build.dir}/dist/staging/examples"/> |
| <mkdir dir="${dist.dir}"/> |
| |
| <!-- Produce intermediate distribution files --> |
| |
| <copy file="LICENSE.txt" todir="${dist.staging.dir}"/> |
| <copy file="THIRDPARTYLICENSE.txt" todir="${dist.staging.dir}"/> |
| |
| <!-- adaptor.jar --> |
| <jar destfile="${dist.staging.dir}/adaptor${adaptorlib.suffix}.jar" |
| basedir="${build-src.dir}" excludes="${adaptor.pkg.dir}/examples/**"> |
| <manifest> |
| <section name="com/google/enterprise/adaptor/"> |
| <attribute name="Implementation-Title" |
| value="Google Adaptor Library"/> |
| <attribute name="Implementation-Vendor" value="Google Inc."/> |
| <attribute name="Implementation-Version" |
| value="${adaptorlib.version}"/> |
| </section> |
| </manifest> |
| <fileset dir="${resource.dir}"/> |
| </jar> |
| |
| <!-- adaptor-src.jar --> |
| <jar destfile="${dist.staging.dir}/adaptor${adaptorlib.suffix}-src.jar" |
| basedir="${src.dir}" excludes="${adaptor.pkg.dir}/examples/**"> |
| <fileset dir="${resource.dir}"/> |
| </jar> |
| |
| <!-- lib/ --> |
| <!-- Concatenate dependent JARs together into a comma-delimited list. --> |
| <pathconvert pathsep="," refid="adaptorlib.run.classpath" |
| property="tmp.adaptorlib.fileset"> |
| <!-- We remove the lib.dir from the paths to prevent trouble with comma |
| and space in lib.dir. It also makes it nicer <echo>ing |
| tmp.adaptorlib.fileset. --> |
| <map from="${lib.dir}/" to=""/> |
| </pathconvert> |
| <copy todir="${dist.staging.dir}/lib"> |
| <fileset dir="${lib.dir}" includes="${tmp.adaptorlib.fileset}"/> |
| </copy> |
| |
| <!-- adaptor-withlib.jar --> |
| <jar destfile="${build.dir}/dist/adaptor-withlib.tmp.jar" |
| filesetmanifest="mergewithoutmain"> |
| <!-- Provide an empty manifest to encourage mergewithoutmain to function. |
| See https://issues.apache.org/bugzilla/show_bug.cgi?id=54171 . --> |
| <manifest/> |
| <zipfileset src="${dist.staging.dir}/adaptor${adaptorlib.suffix}.jar"/> |
| <zipgroupfileset dir="${dist.staging.dir}/lib"/> |
| </jar> |
| <!-- Re-save JAR without signing keys, since keeping them in the JAR causes |
| security exceptions. --> |
| <zip destfile="${dist.staging.dir}/adaptor${adaptorlib.suffix}-withlib.jar"> |
| <zipfileset excludes="META-INF/**/*.DSA,META-INF/**/*.SF" |
| src="${build.dir}/dist/adaptor-withlib.tmp.jar"/> |
| </zip> |
| |
| <!-- adaptor-examples.jar --> |
| <pathconvert pathsep="," refid="examples.run.classpath" |
| property="tmp.examples.zipgroup"> |
| <map from="${lib.dir}/" to=""/> |
| </pathconvert> |
| <jar destfile="${dist.staging.dir}/examples/adaptor${adaptorlib.suffix}-examples.jar" |
| basedir="${build-src.dir}" includes="${adaptor.pkg.dir}/examples/**"> |
| <manifest> |
| <section name="com/google/enterprise/adaptor/examples/"> |
| <attribute name="Implementation-Title" |
| value="Google Example Adaptors"/> |
| <attribute name="Implementation-Vendor" value="Google Inc."/> |
| <attribute name="Implementation-Version" |
| value="${adaptorlib.version}"/> |
| </section> |
| </manifest> |
| <zipgroupfileset dir="${lib.dir}" includes="${tmp.examples.zipgroup}"/> |
| <fileset dir="${src.dir}" |
| includes="${adaptor.pkg.dir}/examples/**/*.java"/> |
| </jar> |
| |
| <!-- example Command Line Adaptor scripts --> |
| <copy todir="${dist.staging.dir}"> |
| <fileset dir="${basedir}" includes="examples/*"/> |
| </copy> |
| |
| <!-- adaptor-docs.zip --> |
| <zip destfile="${dist.staging.dir}/adaptor${adaptorlib.suffix}-docs.zip" |
| basedir="${javadoc.dir}"/> |
| |
| <!-- Produce final distribution files --> |
| |
| <!-- adaptor-src.zip --> |
| <zip destfile="${dist.dir}/adaptor${adaptorlib.suffix}-src.zip" |
| basedir="${basedir}"> |
| <exclude name="**/.*/**"/> |
| |
| <!-- Normal private files --> |
| <exclude name="build/**"/> |
| <exclude name="dist/**"/> |
| <exclude name="adaptor-config.properties"/> |
| <exclude name="cacerts.jks"/> |
| <exclude name="keys.jks"/> |
| <exclude name="adaptor.crt"/> |
| <exclude name="gsa.crt"/> |
| |
| <!-- IntelliJ files --> |
| <exclude name="workspace/**"/> |
| <exclude name="classes/**"/> |
| <exclude name=".idea"/> |
| <exclude name="Plexi.iml"/> |
| |
| <!-- NetBeans files --> |
| <exclude name="nbproject/**"/> |
| </zip> |
| |
| <!-- adaptor-bin.zip --> |
| <move file="${dist.staging.dir}" |
| tofile="${build.dir}/dist/adaptor${adaptorlib.suffix}"/> |
| <zip destfile="${dist.dir}/adaptor${adaptorlib.suffix}-bin.zip" |
| basedir="${build.dir}/dist/adaptor${adaptorlib.suffix}"/> |
| </target> |
| |
| <!-- Build stand-alone AdaptorTemplate.jar for testing purposes. --> |
| <target name="adaptor-template" description="AdaptorTemplate jar" |
| depends="package"> |
| <jar destfile="${build.dir}/dist/adaptor${adaptorlib.suffix}/AdaptorTemplate.jar" |
| basedir="${build-src.dir}" |
| includes="${adaptor.pkg.dir}/**/AdaptorTemplate.class"> |
| <manifest> |
| <attribute name="Implementation-Title" |
| value="Google Adaptor Template"/> |
| <attribute name="Implementation-Vendor" value="Google Inc."/> |
| <attribute name="Implementation-Version" |
| value="${adaptorlib.version}"/> |
| <attribute name="Main-Class" |
| value="com.google.enterprise.adaptor.examples.AdaptorTemplate" /> |
| <attribute name="Class-Path" |
| value="adaptor${adaptorlib.suffix}-withlib.jar" /> |
| </manifest> |
| </jar> |
| </target> |
| |
| <target name="-javadoc-test-uptodate"> |
| <uptodate property="javadoc.uptodate" |
| targetfile="${javadoc.dir}/index.html"> |
| <srcfiles dir="${src.dir}"/> |
| </uptodate> |
| </target> |
| |
| <target name="javadoc" description="Build JavaDocs" |
| depends="-javadoc-test-uptodate" unless="javadoc.uptodate"> |
| <javadoc sourcepath="${src.dir}" destdir="${javadoc.dir}" |
| overview="${src.dir}/overview.html" |
| packagenames="${adaptor.pkg.name},${adaptor.pkg.name}.**"> |
| <classpath refid="adaptorlib.build.classpath"/> |
| <classpath refid="examples.build.classpath"/> |
| <classpath location="${lib.dir}/commons-fileupload-1.3.jar"/> |
| <link href="http://download.oracle.com/javase/6/docs/jre/api/net/httpserver/spec/"/> |
| <link href="http://download.oracle.com/javase/6/docs/api/"/> |
| <link href="http://commons.apache.org/proper/commons-daemon/apidocs/"/> |
| <arg value="-quiet"/> |
| <arg value="-notimestamp"/> |
| </javadoc> |
| </target> |
| |
| <target name="clean" description="Remove build output"> |
| <delete dir="${build.dir}"/> |
| <delete dir="${dist.dir}"/> |
| </target> |
| |
| <target name="run" depends="build" description="Run default adaptor"> |
| <java classpath="${build-src.dir}" fork="true" classname="${adaptor.class}"> |
| <classpath refid="adaptorlib.run.classpath"/> |
| <sysproperty key="java.util.logging.config.file" |
| value="${src.dir}/logging.properties"/> |
| <sysproperty key="javax.net.ssl.keyStore" file="keys.jks"/> |
| <sysproperty key="javax.net.ssl.keyStoreType" value="jks"/> |
| <sysproperty key="javax.net.ssl.keyStorePassword" value="changeit"/> |
| <sysproperty key="javax.net.ssl.trustStore" file="cacerts.jks"/> |
| <sysproperty key="javax.net.ssl.trustStoreType" value="jks"/> |
| <sysproperty key="javax.net.ssl.trustStorePassword" value="changeit"/> |
| <arg line="${adaptor.args}"/> |
| </java> |
| </target> |
| |
| <target name="groups_writer" depends="build" description="Run groups writer"> |
| <java classpath="${build-src.dir}" fork="true" |
| classname="${adaptor.pkg.name}.examples.GroupDefinitionsWriter"> |
| <classpath refid="adaptorlib.run.classpath"/> |
| <sysproperty key="java.util.logging.config.file" |
| value="${src.dir}/logging.properties"/> |
| <sysproperty key="javax.net.ssl.keyStore" file="keys.jks"/> |
| <sysproperty key="javax.net.ssl.keyStoreType" value="jks"/> |
| <sysproperty key="javax.net.ssl.keyStorePassword" value="changeit"/> |
| <sysproperty key="javax.net.ssl.trustStore" file="cacerts.jks"/> |
| <sysproperty key="javax.net.ssl.trustStoreType" value="jks"/> |
| <sysproperty key="javax.net.ssl.trustStorePassword" value="changeit"/> |
| <arg line="${adaptor.args}"/> |
| </java> |
| </target> |
| |
| <target name="groups_from_csv" depends="build" |
| description="Run groups from csv"> |
| <java classpath="${build-src.dir}" fork="true" |
| classname="${adaptor.pkg.name}.examples.GroupDefinitionsFromCsv"> |
| <classpath refid="adaptorlib.run.classpath"/> |
| <sysproperty key="java.util.logging.config.file" |
| value="${src.dir}/logging.properties"/> |
| <sysproperty key="javax.net.ssl.keyStore" file="keys.jks"/> |
| <sysproperty key="javax.net.ssl.keyStoreType" value="jks"/> |
| <sysproperty key="javax.net.ssl.keyStorePassword" value="changeit"/> |
| <sysproperty key="javax.net.ssl.trustStore" file="cacerts.jks"/> |
| <sysproperty key="javax.net.ssl.trustStoreType" value="jks"/> |
| <sysproperty key="javax.net.ssl.trustStorePassword" value="changeit"/> |
| <arg line="${adaptor.args}"/> |
| </java> |
| </target> |
| |
| <target name="groups_scale_tester" depends="build" |
| description="Run groups scale tester"> |
| <java classpath="${build-src.dir}" fork="true" |
| classname="${adaptor.pkg.name}.examples.GroupDefinitionsScaleTester"> |
| <classpath refid="adaptorlib.run.classpath"/> |
| <sysproperty key="java.util.logging.config.file" |
| value="${src.dir}/logging.properties"/> |
| <sysproperty key="javax.net.ssl.keyStore" file="keys.jks"/> |
| <sysproperty key="javax.net.ssl.keyStoreType" value="jks"/> |
| <sysproperty key="javax.net.ssl.keyStorePassword" value="changeit"/> |
| <sysproperty key="javax.net.ssl.trustStore" file="cacerts.jks"/> |
| <sysproperty key="javax.net.ssl.trustStoreType" value="jks"/> |
| <sysproperty key="javax.net.ssl.trustStorePassword" value="changeit"/> |
| <arg line="${adaptor.args}"/> |
| </java> |
| </target> |
| |
| <target name="sim" depends="build" description="run simulator"> |
| <java classpath="${build-src.dir}" fork="true" |
| classname="com.google.enterprise.adaptor.experimental.Sim"> |
| <classpath refid="adaptorlib.run.classpath"/> |
| <classpath location="${lib.dir}/commons-fileupload-1.3.jar"/> |
| <sysproperty key="java.util.logging.config.file" |
| value="${src.dir}/logging.properties"/> |
| </java> |
| </target> |
| |
| <target name="coverage" depends="instrument,test,coverage-report" |
| description="Run instrumented tests and generate coverage report"/> |
| |
| <target name="test" depends="build" description="Run JUnit tests"> |
| <junit printsummary="yes" haltonfailure="yes" forkmode="once" fork="true" |
| dir="${basedir}" maxmemory="512m"> |
| <sysproperty key="net.sourceforge.cobertura.datafile" |
| file="${build-instrument.dir}/cobertura.ser"/> |
| <!-- test-keys.jks created with: |
| keytool -genkeypair -alias adaptor -keystore test/test-keys.jks |
| -keyalg RSA -validity 1000000 -storepass changeit -dname |
| "CN=localhost, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, |
| C=Unknown" -keypass changeit |
| --> |
| <sysproperty key="javax.net.ssl.keyStore" |
| file="${test.dir}/test-keys.jks"/> |
| <sysproperty key="javax.net.ssl.keyStoreType" value="jks"/> |
| <sysproperty key="javax.net.ssl.keyStorePassword" value="changeit"/> |
| <!-- test-cacerts.jks created with: |
| keytool -exportcert -alias adaptor -keystore test/test-keys.jks -rfc |
| -file tmp.crt -storepass changeit |
| keytool -importcert -keystore test/test-cacerts.jks -file tmp.crt |
| -storepass changeit -noprompt -alias adaptor |
| rm tmp.crt |
| --> |
| <sysproperty key="javax.net.ssl.trustStore" |
| file="${test.dir}/test-cacerts.jks"/> |
| <sysproperty key="javax.net.ssl.trustStoreType" value="jks"/> |
| <sysproperty key="javax.net.ssl.trustStorePassword" value="changeit"/> |
| <classpath refid="adaptorlib.run.classpath"/> |
| <classpath refid="examples.run.classpath"/> |
| <classpath refid="cobertura.classpath"/> |
| <classpath location="${junit.jar}"/> |
| <classpath location="${build-instrument.dir}"/> |
| <classpath location="${build-src.dir}"/> |
| <classpath location="${build-test.dir}"/> |
| <classpath location="${resource.dir}"/> |
| <!-- Some resources are in the test directory itself. --> |
| <classpath location="${test.dir}"/> |
| <formatter type="plain" usefile="false"/> |
| <formatter classname="JUnitLogFixFormatter" usefile="false"/> |
| <batchtest> |
| <fileset dir="${test.dir}"> |
| <include name="**/${test.class}.java"/> |
| <exclude name="**/experimental/**"/> |
| </fileset> |
| </batchtest> |
| </junit> |
| </target> |
| |
| <target name="sim-test" depends="build"> |
| <junit printsummary="yes" haltonfailure="yes" forkmode="once" fork="true" |
| dir="${basedir}" maxmemory="512m"> |
| <classpath location="${junit.jar}"/> |
| <classpath location="${build-src.dir}"/> |
| <classpath refid="adaptorlib.run.classpath"/> |
| <classpath location="${build-test.dir}"/> |
| <classpath location="${lib.dir}/commons-fileupload-1.3.jar"/> |
| <formatter type="plain" usefile="false"/> |
| <formatter classname="JUnitLogFixFormatter" usefile="false"/> |
| <batchtest> |
| <fileset dir="${test.dir}"> |
| <include name="**/experimental/SimTest.java"/> |
| </fileset> |
| </batchtest> |
| </junit> |
| </target> |
| |
| <target name="instrument" depends="build" description="Instrument classes"> |
| <taskdef classpathref="cobertura.classpath" resource="tasks.properties"/> |
| <cobertura-instrument datafile="${build-instrument.dir}/cobertura.ser" |
| todir="${build-instrument.dir}"> |
| <fileset dir="${build-src.dir}"> |
| <include name="${adaptor.pkg.dir}/**"/> |
| </fileset> |
| </cobertura-instrument> |
| </target> |
| |
| <target name="clean-instrument" unless="instrument.uptodate" |
| description="Delete instrumented classes"> |
| <delete dir="${build-instrument.dir}"/> |
| </target> |
| |
| <target name="coverage-report" description="Generates code coverage report"> |
| <taskdef classpathref="cobertura.classpath" resource="tasks.properties"/> |
| <cobertura-report datafile="${build-instrument.dir}/cobertura.ser" |
| srcdir="${src.dir}" destdir="${build.dir}/coverage"/> |
| </target> |
| </project> |