diff options
Diffstat (limited to 'build.xml')
-rw-r--r-- | build.xml | 206 |
1 files changed, 0 insertions, 206 deletions
diff --git a/build.xml b/build.xml deleted file mode 100644 index d3ef7b5b..00000000 --- a/build.xml +++ /dev/null @@ -1,206 +0,0 @@ -<project name="clojure-contrib" default="jar" xmlns:mvn="urn:maven-artifact-ant"> - - <description> - Pack all clojure-contrib sources into a JAR. Compile those that can - be compiled standalone if the clojure.jar property points us to - clojure.jar. - </description> - - <property name="src" location="src"/> - <property name="build" location="classes"/> - <property file="local.properties"/> - - <available property="hasclojure" file="${clojure.jar}"/> - - <!-- The JAR file to create. --> - <property name="jarfile" location="clojure-contrib.jar"/> - <property name="slimjarfile" location="clojure-contrib-slim.jar"/> - - <!-- These make sense for building on tapestry.formos.com --> - - <property name="snapshot.repo.dir" location="/var/www/maven-snapshot-repository"/> - <property name="stable.repo.dir" location="/var/www/maven-repository"/> - - <target name="init"> - <tstamp/> - <mkdir dir="${build}"/> - </target> - - <target name="clean" description="Remove generated files and directories."> - <delete file="${jarfile}"/> - <delete file="${slimjarfile}"/> - <delete dir="${build}"/> - </target> - - <target name="test_contrib" - description="Run contrib tests" - if="hasclojure"> - <java classname="clojure.main" fork="true"> - <classpath> - <path location="${build}"/> - <path location="${src}"/> - <path location="${clojure.jar}"/> - </classpath> - <arg value="-e"/> - <arg value="(require '(clojure.contrib [test-contrib :as main])) (main/run)"/> - <jvmarg value="-Djava.security.policy=config/jmx.policy"/> - </java> - </target> - - <target name="test_datalog" - description="Run datalog tests" - if="hasclojure"> - <java classname="clojure.main"> - <classpath> - <path location="${build}"/> - <path location="${src}"/> - <path location="${clojure.jar}"/> - </classpath> - <arg value="-e"/> - <arg value="(require '(clojure.contrib.datalog.tests [test :as main])) (main/run)"/> - </java> - </target> - - <target name="test" depends="test_contrib,test_datalog" - description="Run all tests"/> - - <target name="check_hasclojure" - description="Print a warning message if clojure.jar is undefined" - unless="hasclojure"> - <echo>WARNING: You have not defined a path to clojure.jar so I can't compile files. - This will cause some parts of clojure.contrib not to work (e.g., pretty print). - To enable compiling, run "ant -Dclojure.jar=<...path to clojure.jar..>" - </echo> - </target> - - <target name="compile_classes" depends="init,check_hasclojure" - description="Compile the clojure files that have gen-class." - if="hasclojure"> - <java classname="clojure.lang.Compile"> - <classpath> - <path location="${build}"/> - <path location="${src}"/> - <path location="${clojure.jar}"/> - </classpath> - <sysproperty key="clojure.compile.path" value="${build}"/> - <arg value="clojure.contrib.pprint.ColumnWriter"/> - <arg value="clojure.contrib.pprint.PrettyWriter"/> - <arg value="clojure.contrib.fnmap.PersistentFnMap"/> - <arg value="clojure.contrib.condition.Condition"/> - <arg value="clojure.contrib.jmx.Bean"/> - </java> - </target> - - <target name="compile_clojure" depends="init,check_hasclojure,compile_classes" - description="Compile Clojure sources." - if="hasclojure"> - - <!-- Seek out the namespaces to compile. Note that this will fail if the actual name of a package includes an underscore, as - all underscores are converted to dashes. --> - <echo>Locating namespaces to compile ...</echo> - - <pathconvert pathsep=" " property="compile.namespaces"> - <fileset dir="${src}" includes="**/*.clj"> - <!-- TODO: Seperate out the source into at least three root folders: one for namespaces with :gen-class, one for - ordinary namespaces (to be AOT compiled) and one for test namespaces (which, perhaps, should not be included - in the packaged JAR). - Complicated exclude rules like this are a bad design smell for the build.xml and/or project layout. - --> - <exclude name="**/*_test.clj" /> - <exclude name="**/test_*/**" /> - <exclude name="clojure/contrib/javadoc.clj" /> - <exclude name="clojure/contrib/jmx/*.clj" /> - <exclude name="**/pprint/**"/> - <exclude name="**/with_pull.clj" /> - <exclude name="**/examples*/**" /> - <exclude name="**/PersistentFnMap.clj" /> - <exclude name="**/Condition.clj" /> - <exclude name="**/Bean.clj" /> - <exclude name="**/repl_utils/javadoc.clj"/> - <exclude name="clojure/contrib/load_all.clj"/> - <exclude name="**/tests.clj"/> - <exclude name="clojure/contrib/logging.clj"/> - </fileset> - <chainedmapper> - <packagemapper from="${src}/*.clj" to="*" /> - <filtermapper> - <replacestring from="_" to="-" /> - </filtermapper> - </chainedmapper> - </pathconvert> - - <echo>Compiling Clojure namespaces ...</echo> - <java classname="clojure.lang.Compile"> - <classpath> - <path location="${build}"/> - <path location="${src}"/> - <path location="${clojure.jar}"/> - </classpath> - <sysproperty key="clojure.compile.path" value="${build}"/> - <sysproperty key="java.awt.headless" value="true"/> - <arg line="${compile.namespaces}" /> - </java> - </target> - - <target name="jar" description="Create jar files." depends="compile_clojure"> - <jar jarfile="${jarfile}"> - <fileset file="epl-v10.html"/> - <fileset dir="${src}" includes="**/*.clj"/> - <fileset dir="${build}" includes="**/*.class"/> - <manifest> - <attribute name="Class-Path" value="."/> - </manifest> - </jar> - - <jar jarfile="${slimjarfile}"> - <fileset file="epl-v10.html"/> - <fileset dir="${src}" includes="**/*.clj"/> - <manifest> - <attribute name="Class-Path" value="."/> - </manifest> - </jar> - - </target> - - <target name="-setup-maven" description="Load Maven typedefs, read POM, establish dependencies."> - <typedef resource="org/apache/maven/artifact/ant/antlib.xml" uri="urn:maven-artifact-ant"/> - - <mvn:pom file="pom.xml" id="contrib.pom"/> - - <mvn:dependencies pomRefId="contrib.pom"/> - </target> - - <target name="clean-build" depends="clean,compile_clojure,test,jar" - description="Builds clojure-contrib from scratch and runs all tests."/> - - <target name="ci-build" depends="-setup-maven" - description="Build clojure-contrib using Clojure obtained via Maven."> - <antcall target="clean-build"> - <param name="clojure.jar" value="${org.clojure:clojure-lang:jar}"/> - </antcall> - <mvn:install file="${jarfile}" pomrefid="contrib.pom"> - <attach file="${slimjarfile}" classifier="slim"/> - </mvn:install> - </target> - - <macrodef name="deploy"> - <attribute name="target-dir" description="Root of Maven repository"/> - <sequential> - <mvn:deploy file="${jarfile}" pomrefid="contrib.pom"> - <attach file="${slimjarfile}" classifier="slim"/> - <remoteRepository url="file:@{target-dir}"/> - </mvn:deploy> - </sequential> - </macrodef> - - <target name="nightly-build" depends="ci-build" - description="Build and deploy to nightly (snapshot) repository."> - <deploy target-dir="${snapshot.repo.dir}"/> - </target> - - <target name="stable-build" depends="ci-build" description="Build and deploy to stable repository."> - <deploy target-dir="${stable.repo.dir}"/> - </target> - - -</project> |