-<project default="dist" basedir=".">
-
- <property name="distname" value="shibboleth"/>
-
- <!-- set global properties for this build -->
- <property name="root" value="."/>
- <property name="src" value="${root}/source"/>
- <property name="approot" value="${root}/webApplication"/>
- <property name="build" value="${approot}/WEB-INF/classes"/>
- <property name="libdir" value="${approot}/WEB-INF/lib"/>
- <property name="buildlibs" value="${root}/buildlibs"/>
- <property name="dist" value="${root}/dist"/>
-
- <path id="build.path">
- <pathelement path="${classpath}"/>
- <pathelement location="${build}"/>
- <fileset dir="${libdir}">
- <include name="**/*.jar"/>
- </fileset>
- <fileset dir="${buildlibs}">
- <include name="**/*.jar"/>
- </fileset>
-
- </path>
-
- <!-- Prepare directory structure for project build-->
- <target name="init">
- <mkdir dir="${build}"/>
- <mkdir dir="${dist}"/>
- </target>
+<!-- Main build configutaion for Shibboleth java components - Walter Hoehn 06/04/2002 -->
- <!-- Compile classes and move them to ${build} -->
- <target name="compile" depends="init">
- <javac srcdir="${src}" destdir="${build}" includes="**/*.java" debug="on">
- <classpath refid="build.path"/>
- </javac>
- </target>
+<project name="Shibboleth" default="dist-all" basedir=".">
- <target name="package">
- <war warfile="${dist}/${distname}.war" webxml="${approot}/WEB-INF/web.xml" basedir="${approot}" update="no"/>
- </target>
+ <!-- Set global properties for this build -->
+ <property name="distname" value="shibboleth" />
+ <property name="root" value="." />
+ <property name="src" value="${root}/src" />
+ <property name="approot" value="${root}/webApplication" />
+ <property name="configroot" value="${root}/webAppConfig" />
+ <property name="build" value="${approot}/WEB-INF/classes" />
+ <property name="libdir" value="${approot}/WEB-INF/lib" />
+ <property name="buildlibs" value="${root}/lib" />
+ <property name="dist" value="${root}/dist" />
+ <property name="docs" value="${root}/docs" />
+ <property name="javadocs" value="${docs}/api" />
+
+ <property name="year" value="2002"/>
+ <property name="copyright" value="Copyright © ${year} UCAID. All Rights Reserved."/>
+
+
+ <!-- Construct the CLASSPATH -->
+ <path id="build.path">
+ <pathelement path="${classpath}" />
+ <pathelement location="${build}" />
+ <fileset dir="${libdir}">
+ <include name="**/*.jar" />
+ </fileset>
+ <fileset dir="${buildlibs}">
+ <include name="**/*.jar" />
+ </fileset>
+ </path>
+
+
+ <!-- Prepare directory structure for project build-->
+ <target name="init">
+ <mkdir dir="${build}" />
+ <mkdir dir="${dist}" />
+ </target>
+
+
+ <!-- This target should be run before checking code into the repository -->
+ <target name="pre-checkin" depends="compile-all, test-all, clean-all" />
- <target name="dist" depends="compile, package, clean-build"/>
- <!-- Delete the ${build} and ${dist} directory trees -->
- <target name="clean" depends="clean-build, clean-dist"/>
+ <!-- Compile classes and move them to ${build} -->
+ <target name="compile-all" depends="init">
+ <javac srcdir="${src}" destdir="${build}" includes="**/*.java" debug="on">
+ <exclude name="edu/internet2/middleware/shibboleth/hs-cmu/**" />
+ <classpath refid="build.path" />
+ </javac>
+ <copy todir="${build}/schemas">
+ <fileset dir="${src}/schemas"/>
+ </copy>
+ </target>
- <target name="clean-build">
- <delete dir="${build}"/>
+
+ <!-- Generate API docs -->
+ <target name="javadocs">
+ <mkdir dir="${docs}" />
+ <mkdir dir="${javadocs}" />
+ <javadoc packagenames='edu.internet2.middleware.*'
+ sourcepath='${src}' destdir='${javadocs}'
+ author='true' version='true'
+ windowtitle='Shibboleth Java API' doctitle='Shibboleth Java API'
+ bottom='${copyright}'>
+ <classpath refid="build.path" />
+ </javadoc>
</target>
- <target name="clean-dist">
- <delete dir="${dist}"/>
+ <!-- Create various product distributions and move them to ${dist} -->
+ <target name="dist" depends="dist-all" />
+ <target name="dist-all" depends="compile-all, test-all, package-all, clean-build" />
+ <target name="package-all">
+ <war warfile="${dist}/${distname}.war" webxml="${approot}/WEB-INF/web.xml" basedir="${approot}" update="no" />
+ </target>
+
+ <target name="dist-origin" depends="compile-all, test-origin, package-origin, clean-build" />
+ <target name="package-origin">
+ <war warfile="${dist}/${distname}-origin.war" webxml="${configroot}/origin.xml" basedir="${approot}" update="no" />
+ </target>
+
+ <target name="dist-target" depends="compile-all, test-target, package-target, clean-build" />
+ <target name="package-target">
+ <war warfile="${dist}/${distname}-target.war" webxml="${configroot}/target.xml" basedir="${approot}" update="no" />
+ </target>
+
+ <target name="dist-target-includewayf" depends="compile-all, test-target, test-wayf, package-target-includewayf, clean-build" />
+ <target name="package-target-includewayf">
+ <war warfile="${dist}/${distname}-target.war" webxml="${configroot}/target-includewayf.xml" basedir="${approot}" update="no" />
+ </target>
+
+ <!-- Build utilities -->
+ <target name="build-util" depends="compile-all">
+ <jar jarfile="${dist}/shib-util.jar" basedir="${build}" />
+ </target>
+
+ <target name="dist-wayf" depends="compile-all, test-wayf, package-wayf, clean-build" />
+ <target name="package-wayf">
+ <war warfile="${dist}/${distname}-wayf.war" webxml="${configroot}/wayf.xml" basedir="${approot}" update="no" />
+ </target>
+
+
+ <!-- Cleanup after the build, test, and distribution processes -->
+ <target name="clean" depends="clean-all" />
+ <target name="clean-all" depends="clean-build, clean-dist, clean-test, clean-javadocs" />
+ <target name="clean-build">
+ <delete dir="${build}" />
+ </target>
+ <target name="clean-test">
+ <delete>
+ <fileset dir="${root}">
+ <include name="**/TEST*.txt" />
+ </fileset>
+ </delete>
+ </target>
+ <target name="clean-dist">
+ <delete dir="${dist}" />
+ </target>
+ <target name="clean-javadocs">
+ <delete dir="${javadocs}" />
</target>
-</project>
+
+ <!-- Run automated tests on compiled code -->
+ <target name="test-all" depends="test-origin, test-target, test-wayf" />
+ <target name="test-origin" depends="test-common" />
+ <target name="test-target" depends="test-common" />
+ <target name="test-wayf" depends="test-common" />
+ <target name="test-common" depends="compile-all">
+ <junit printsummary="no" fork="no" haltonfailure="yes" haltonerror="no">
+ <classpath refid="build.path" />
+ <formatter type="plain" />
+ <!-- <test name="edu.internet2.middleware.shibboleth.common.AQHTest" /> -->
+ </junit>
+ </target>
+</project>