---
 build+ivy.xml   |   90 ++++++++++++++++++++++++++++++++--------
 ivy.xml         |  124 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 ivysettings.xml |    7 +++
 3 files changed, 203 insertions(+), 18 deletions(-)

Index: clojure-contrib-svn/ivy.xml
===================================================================
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
+++ clojure-contrib-svn/ivy.xml	2009-04-11 14:11:44.000000000 +0200
@@ -0,0 +1,124 @@
+<ivy-module version="2.0">
+
+    <info organisation="org.clojure" module="clojure-contrib"
+        status="integration"/>
+
+    <configurations>
+        <conf name="accumulators" extends="def,generic"/>
+        <conf name="agent_utils" extends="walk,test_is"/>
+        <conf name="auto_agent"/>
+        <conf name="command_line" extends="seq_utils,str_utils"/>
+        <conf name="cond"/>
+        <conf name="condt" extends="template"/>
+        <conf name="core" extends="def,test_is"/>
+        <conf name="dataflow" extends="except,graph,walk"/>
+        <conf name="datalog" extends="def,except,graph,seq_utils,set,test_is"/>
+        <conf name="def"/>
+        <conf name="duck_streams"/>
+        <conf name="except"/>
+        <conf name="error_kit" extends="def,stacktrace,proxy"/>
+        <conf name="fcase"/>
+        <conf name="gen_html_docs" extends="def,duck_streams,prxml,repl_utils,seq_utils,str_utils"/>
+        <conf name="generic" extends="def"/>
+        <conf name="graph"/>
+        <conf name="greatest_least"/>
+        <conf name="import_static"/>
+        <conf name="javadoc" extends="shell_out,proxy"/>
+        <!-- <conf name="javalog"/> -->
+        <conf name="java_utils"/>
+        <conf name="json" extends="test_is"/>
+        <conf name="lazy_seqs" extends="def"/>
+        <conf name="lazy_xml" extends="def,proxy"/>
+        <conf name="macros"/>
+        <conf name="map_utils"/>
+        <conf name="math" extends="accumulators,def,generic,monads,test_is"/>
+        <conf name="miglayout" extends="except,fcase,java_utils"/>
+        <conf name="mmap" extends="proxy"/>
+        <conf name="monads" extends="accumulators"/>
+        <conf name="ns_utils" extends="except"/>
+        <conf name="pprint" extends="proxy"/>
+        <conf name="prxml" extends="lazy_xml"/>
+        <conf name="repl_ln" extends="def"/>
+        <conf name="repl_utils" extends="javadoc,seq_utils,str_utils,proxy"/>
+        <conf name="seq_utils"/>
+        <conf name="server_socket"/>
+        <conf name="set"/>
+        <conf name="shell_out"/>
+        <conf name="sql" extends="def,except,java_utils"/>
+        <conf name="stacktrace"/>
+        <conf name="str_utils"/>
+        <conf name="stream_utils" extends="def,generic,monads,seq_utils"/>
+        <conf name="template" extends="walk"/>
+        <conf name="test_is" extends="template,stacktrace"/>
+        <conf name="trace"/>
+        <conf name="walk"/>
+        <conf name="with_ns"/>
+        <conf name="zip_filter"/>
+        <conf name="proxy"/>
+        <conf name="source"/>
+    </configurations>
+
+    <publications>
+        <artifact name="clojure-contrib-accumulators" type="jar" conf="accumulators"/>
+        <artifact name="clojure-contrib-agent_utils" type="jar" conf="agent_utils"/>
+        <artifact name="clojure-contrib-auto_agent" type="jar" conf="auto_agent"/>
+        <artifact name="clojure-contrib-command_line" type="jar" conf="command_line"/>
+        <artifact name="clojure-contrib-cond" type="jar" conf="cond"/>
+        <artifact name="clojure-contrib-condt" type="jar" conf="condt"/>
+        <artifact name="clojure-contrib-core" type="jar" conf="core"/>
+        <artifact name="clojure-contrib-dataflow" type="jar" conf="dataflow"/>
+        <artifact name="clojure-contrib-datalog" type="jar" conf="datalog"/>
+        <artifact name="clojure-contrib-def" type="jar" conf="def"/>
+        <artifact name="clojure-contrib-duck_streams" type="jar" conf="duck_streams"/>
+        <artifact name="clojure-contrib-error_kit" type="jar" conf="error_kit"/>
+        <artifact name="clojure-contrib-except" type="jar" conf="except"/>
+        <artifact name="clojure-contrib-fcase" type="jar" conf="fcase"/>
+        <artifact name="clojure-contrib-gen_html_docs" type="jar" conf="gen_html_docs"/>
+        <artifact name="clojure-contrib-generic" type="jar" conf="generic"/>
+        <artifact name="clojure-contrib-graph" type="jar" conf="graph"/>
+        <artifact name="clojure-contrib-greatest_least" type="jar" conf="greatest_least"/>
+        <artifact name="clojure-contrib-import_static" type="jar" conf="import_static"/>
+        <artifact name="clojure-contrib-javadoc" type="jar" conf="javadoc"/>
+        <!-- <artifact name="clojure-contrib-javalog" type="jar" conf="javalog"/> -->
+        <artifact name="clojure-contrib-java_utils" type="jar" conf="java_utils"/>
+        <artifact name="clojure-contrib-json" type="jar" conf="json"/>
+        <artifact name="clojure-contrib-lazy_seqs" type="jar" conf="lazy_seqs"/>
+        <artifact name="clojure-contrib-macros" type="jar" conf="macros"/>
+        <artifact name="clojure-contrib-map_utils" type="jar" conf="map_utils"/>
+        <artifact name="clojure-contrib-math" type="jar" conf="math"/>
+        <artifact name="clojure-contrib-miglayout" type="jar" conf="miglayout"/>
+        <artifact name="clojure-contrib-mmap" type="jar" conf="mmap"/>
+        <artifact name="clojure-contrib-monads" type="jar" conf="monads"/>
+        <artifact name="clojure-contrib-ns_utils" type="jar" conf="ns_utils"/>
+        <artifact name="clojure-contrib-pprint" type="jar" conf="pprint"/>
+        <artifact name="clojure-contrib-prxml" type="jar" conf="prxml"/>
+        <artifact name="clojure-contrib-repl_ln" type="jar" conf="repl_ln"/>
+        <artifact name="clojure-contrib-repl_utils" type="jar" conf="repl_utils"/>
+        <artifact name="clojure-contrib-seq_utils" type="jar" conf="seq_utils"/>
+        <artifact name="clojure-contrib-server_socket" type="jar" conf="server_socket"/>
+        <artifact name="clojure-contrib-set" type="jar" conf="set"/>
+        <artifact name="clojure-contrib-shell_out" type="jar" conf="shell_out"/>
+        <artifact name="clojure-contrib-sql" type="jar" conf="sql"/>
+        <artifact name="clojure-contrib-stacktrace" type="jar" conf="stacktrace"/>
+        <artifact name="clojure-contrib-str_utils" type="jar" conf="str_utils"/>
+        <artifact name="clojure-contrib-stream_utils" type="jar" conf="stream_utils"/>
+        <artifact name="clojure-contrib-template" type="jar" conf="template"/>
+        <artifact name="clojure-contrib-test_is" type="jar" conf="test_is"/>
+        <artifact name="clojure-contrib-trace" type="jar" conf="trace"/>
+        <artifact name="clojure-contrib-walk" type="jar" conf="walk"/>
+        <artifact name="clojure-contrib-with_ns" type="jar" conf="with_ns"/>
+        <artifact name="clojure-contrib-zip_filter" type="jar" conf="zip_filter"/>
+        <artifact name="clojure-contrib-proxy" type="jar" conf="proxy"/>
+        <artifact name="clojure-contrib-source" type="jar" conf="source"/>
+    </publications>
+
+    <dependencies>
+        <dependency org="org.clojure" name="clojure-lang" rev="1.0.0"
+            conf="*->default"/>
+        <dependency org="com.miglayout" name="miglayout" rev="3.7"
+            conf="miglayout->default"/>
+        <dependency org="xmlpull" name="xmlpull" rev="1.1.3.4d_b4_min"
+            conf="lazy_xml->default"/>
+    </dependencies>
+
+</ivy-module>
Index: clojure-contrib-svn/ivysettings.xml
===================================================================
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
+++ clojure-contrib-svn/ivysettings.xml	2009-04-11 14:06:53.000000000 +0200
@@ -0,0 +1,7 @@
+<ivysettings>
+
+    <!-- Load the standard Ivy settings. Which just extend them for Clojure. -->
+    <include url="${ivy.default.settings.dir}/ivysettings.xml"/>
+    <include url="http://kotka.de/ivy/ivysettings.xml"/>
+
+</ivysettings>
Index: clojure-contrib-svn/build+ivy.xml
===================================================================
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
+++ clojure-contrib-svn/build+ivy.xml	2009-04-11 14:33:39.000000000 +0200
@@ -0,0 +1,328 @@
+<project name="clojure-contrib" default="artifacts"
+    xmlns:ivy="antlib:org.apache.ivy.ant">
+
+    <description>
+        clojure-contrib is a set of utility libraries for the Clojure
+        programming language. You might depend on it via ivy using in
+        your ivy.xml:
+        &lt;dependency org="org.clojure" name="clojure-contrib"/&gt;
+
+        In your ivysettings.xml put the following:
+        &lt;resolvers&gt;
+            &lt;url name="Kotka"&gt;
+                &lt;ivy pattern="http://kotka.de/ivy/[organisation]/[module]/[revision]/ivys/ivy.xml"/&gt;
+                &lt;artifact pattern="http://kotka.de/ivy/[organisation]/[module]/[revision]/jars/[artifact].[ext]"/&gt;
+            &lt;/url&gt;
+            &lt;ibiblio name="Tapestry" m2compatible="true"
+                root="http://tapestry.formos.com/maven-snapshot-repository/"/&gt;
+        &lt;/resolvers&gt;
+
+        &lt;modules&gt;
+            &lt;module organisation="org.clojure" name="clojure-lang"
+                resolver="Tapestry"/&gt;
+            &lt;module organisation="org.clojure" name="clojure-contrib"
+                resolver="Kotka"/&gt;
+        &lt;/modules&gt;
+    </description>
+
+    <property name="src.dir" location="src"/>
+    <property name="classes.dir" location="classes"/>
+    <property name="build.dir" location="build"/>
+    <property name="lib.dir" location="lib"/>
+
+    <property name="current.version" value="1.0"/>
+
+    <property file="local.properties"/>
+
+    <target name="init" description="--> create build directories">
+        <tstamp/>
+        <mkdir dir="${classes.dir}"/>
+        <mkdir dir="${build.dir}"/>
+        <mkdir dir="${lib.dir}"/>
+    </target>
+
+    <target name="resolve" depends="init"
+        description="--> resolve and retrieve dependencies with ivy">
+        <ivy:resolve />
+        <ivy:retrieve />
+    </target>
+
+    <target name="compile" depends="init,resolve"
+        description="--> AOT compile Clojure sources">
+        <java classname="clojure.lang.Compile">
+            <classpath>
+                <path location="${classes.dir}"/>
+                <path location="${src.dir}"/>
+                <fileset dir="${lib.dir}" includes="**/*jar"/>
+            </classpath>
+            <sysproperty key="clojure.compile.path" value="${classes.dir}"/>
+            <arg value="clojure.contrib.accumulators"/>
+            <arg value="clojure.contrib.agent-utils"/>
+            <arg value="clojure.contrib.auto-agent"/>
+            <arg value="clojure.contrib.command-line"/>
+            <arg value="clojure.contrib.cond"/>
+            <arg value="clojure.contrib.condt"/>
+            <arg value="clojure.contrib.core"/>
+            <arg value="clojure.contrib.dataflow"/>
+            <arg value="clojure.contrib.datalog"/>
+            <arg value="clojure.contrib.datalog.database"/>
+            <arg value="clojure.contrib.datalog.literals"/>
+            <arg value="clojure.contrib.datalog.magic"/>
+            <arg value="clojure.contrib.datalog.rules"/>
+            <arg value="clojure.contrib.datalog.softstrat"/>
+            <arg value="clojure.contrib.datalog.util"/>
+            <arg value="clojure.contrib.def"/>
+            <arg value="clojure.contrib.duck-streams"/>
+            <arg value="clojure.contrib.error-kit"/>
+            <arg value="clojure.contrib.except"/>
+            <arg value="clojure.contrib.fcase"/>
+            <arg value="clojure.contrib.gen-html-docs"/>
+            <arg value="clojure.contrib.generic"/>
+            <arg value="clojure.contrib.graph"/>
+            <arg value="clojure.contrib.greatest-least"/>
+            <arg value="clojure.contrib.import-static"/>
+            <arg value="clojure.contrib.javadoc.browse"/>
+            <arg value="clojure.contrib.javadoc.browse-ui"/>
+            <!-- <arg value="clojure.contrib.javalog"/> -->
+            <arg value="clojure.contrib.json.read"/>
+            <arg value="clojure.contrib.json.write"/>
+            <arg value="clojure.contrib.lazy-seqs"/>
+            <arg value="clojure.contrib.lazy-xml"/>
+            <arg value="clojure.contrib.macros"/>
+            <arg value="clojure.contrib.map-utils"/>
+            <arg value="clojure.contrib.miglayout"/>
+            <arg value="clojure.contrib.mmap"/>
+            <arg value="clojure.contrib.monads"/>
+            <arg value="clojure.contrib.ns-utils"/>
+            <arg value="clojure.contrib.pprint.ColumnWriter"/>
+            <arg value="clojure.contrib.pprint.PrettyWriter"/>
+            <arg value="clojure.contrib.pprint"/>
+            <arg value="clojure.contrib.pprint.utilities"/>
+            <arg value="clojure.contrib.probabilities.dist"/>
+            <arg value="clojure.contrib.prxml"/>
+            <arg value="clojure.contrib.repl-ln"/>
+            <arg value="clojure.contrib.repl-utils"/>
+            <arg value="clojure.contrib.seq-utils"/>
+            <arg value="clojure.contrib.server-socket"/>
+            <arg value="clojure.contrib.set"/>
+            <arg value="clojure.contrib.shell-out"/>
+            <arg value="clojure.contrib.sql"/>
+            <arg value="clojure.contrib.sql.internal"/>
+            <arg value="clojure.contrib.stacktrace"/>
+            <arg value="clojure.contrib.str-utils"/>
+            <arg value="clojure.contrib.stream-utils"/>
+            <arg value="clojure.contrib.template"/>
+            <arg value="clojure.contrib.test-contrib"/>
+            <arg value="clojure.contrib.test-clojure"/>
+            <arg value="clojure.contrib.test-is"/>
+            <arg value="clojure.contrib.trace"/>
+            <arg value="clojure.contrib.types"/>
+            <arg value="clojure.contrib.walk"/>
+            <arg value="clojure.contrib.with-ns"/>
+            <arg value="clojure.contrib.zip-filter"/>
+        </java>
+    </target>
+
+    <macrodef name="artifact">
+        <attribute name="name"/>
+        <sequential>
+            <jar jarfile="${build.dir}/clojure-contrib-@{name}.jar">
+                <path location="epl-v10.html"/>
+                <fileset dir="${classes.dir}"
+                    includes="clojure/contrib/@{name}*"/>
+                <fileset dir="${classes.dir}"
+                    includes="clojure/contrib/@{name}/**"/>
+                <manifest>
+                    <attribute name="Class-Path" value="."/>
+                </manifest>
+            </jar>
+        </sequential>
+    </macrodef>
+
+    <target name="artifacts" depends="compile"
+        description="--> create source and artifact jar files">
+        <jar jarfile="${build.dir}/clojure-contrib-source.jar">
+            <path location="epl-v10.html"/>
+            <fileset dir="${src.dir}" includes="**/*"/>
+        </jar>
+
+        <!-- Since one cannot determine where the proxy generated files
+             come from, we have to include all proxy-files in a jar.
+             Having more than one proxy jar seems overkill... -->
+        <jar jarfile="${build.dir}/clojure-contrib-proxy.jar">
+            <path location="epl-v10.html"/>
+            <fileset dir="${classes.dir}" includes="clojure/proxy/**"/>
+            <manifest>
+                <attribute name="Class-Path" value="."/>
+            </manifest>
+        </jar>
+
+        <jar jarfile="${build.dir}/clojure-contrib-math.jar">
+            <path location="epl-v10.html"/>
+            <fileset dir="${classes.dir}"
+                includes="clojure/contrib/combinatorics*"/>
+            <fileset dir="${classes.dir}"
+                includes="clojure/contrib/combinatorics/**"/>
+            <fileset dir="${classes.dir}"
+                includes="clojure/contrib/complex_numbers*"/>
+            <fileset dir="${classes.dir}"
+                includes="clojure/contrib/complex_numbers/**"/>
+            <fileset dir="${classes.dir}" includes="clojure/contrib/math*"/>
+            <fileset dir="${classes.dir}" includes="clojure/contrib/math/**"/>
+            <fileset dir="${classes.dir}"
+                includes="clojure/contrib/probabilities/**"/>
+            <manifest>
+                <attribute name="Class-Path" value="."/>
+            </manifest>
+        </jar>
+
+        <!-- generics and types depend on each other -->
+        <jar jarfile="${build.dir}/clojure-contrib-generic.jar">
+            <path location="epl-v10.html"/>
+            <fileset dir="${classes.dir}" includes="clojure/contrib/generic*"/>
+            <fileset dir="${classes.dir}"
+                includes="clojure/contrib/generic/**"/>
+            <fileset dir="${classes.dir}" includes="clojure/contrib/types*"/>
+            <fileset dir="${classes.dir}" includes="clojure/contrib/types/**"/>
+            <manifest>
+                <attribute name="Class-Path" value="."/>
+            </manifest>
+        </jar>
+
+        <artifact name="accumulators"/>
+        <artifact name="agent_utils"/>
+        <artifact name="auto_agent"/>
+        <artifact name="command_line"/>
+        <artifact name="cond"/>
+        <artifact name="condt"/>
+        <artifact name="core"/>
+        <artifact name="dataflow"/>
+        <artifact name="datalog"/>
+        <artifact name="def"/>
+        <artifact name="duck_streams"/>
+        <artifact name="error_kit"/>
+        <artifact name="except"/>
+        <artifact name="fcase"/>
+        <artifact name="gen_html_docs"/>
+        <artifact name="graph"/>
+        <artifact name="greatest_least"/>
+        <artifact name="import_static"/>
+        <artifact name="javadoc"/>
+        <!-- Doesn't compile for me... -->
+        <!-- <artifact name="javalog"/> -->
+        <artifact name="java_utils"/>
+        <artifact name="json"/>
+        <artifact name="lazy_xml"/>
+        <artifact name="lazy_seqs"/>
+        <artifact name="macros"/>
+        <artifact name="map_utils"/>
+        <artifact name="miglayout"/>
+        <artifact name="mmap"/>
+        <artifact name="monads"/>
+        <artifact name="ns_utils"/>
+        <artifact name="pprint"/>
+        <artifact name="prxml"/>
+        <artifact name="repl_ln"/>
+        <artifact name="repl_utils"/>
+        <artifact name="seq_utils"/>
+        <artifact name="server_socket"/>
+        <artifact name="set"/>
+        <artifact name="shell_out"/>
+        <artifact name="sql"/>
+        <artifact name="stacktrace"/>
+        <artifact name="str_utils"/>
+        <artifact name="stream_utils"/>
+        <artifact name="template"/>
+        <artifact name="test_is"/>
+        <artifact name="trace"/>
+        <artifact name="walk"/>
+        <artifact name="with_ns"/>
+        <artifact name="zip_filter"/>
+    </target>
+
+    <target name="clean" description="--> clean up generated files">
+        <delete dir="${classes.dir}"/>
+        <delete dir="${build.dir}"/>
+    </target>
+
+    <target name="clean-lib" description="--> clean up library files">
+        <delete dir="${lib.dir}"/>
+    </target>
+
+    <target name="clean-local"
+        description="--> clean up local repository files">
+        <ivy:info />
+        <delete
+            dir="${ivy.local.default.root}/${ivy.organisation}/${ivy.module}"/>
+    </target>
+
+    <target name="clean-all" depends="clean,clean-lib,clean-local"
+        description="--> run all other clean targets"/>
+
+    <target name="publish"
+        description="--> publish artifacts in the shared repository">
+        <ivy:info />
+        <ivy:buildnumber
+            organisation="${ivy.organisation}"
+            module="${ivy.module}"
+            revision="${current.version}"/>
+        <ivy:publish
+            resolver="shared"
+            artifactspattern="${build.dir}/[artifact].[ext]"
+            pubrevision="${ivy.new.revision}"
+            status="release"/>
+    </target>
+
+    <target name="publish-local"
+        description="--> publish artifacts in the local repository">
+        <tstamp>
+            <format property="now" pattern="yyyyMMddHHmmss"/>
+        </tstamp>
+        <ivy:info />
+        <ivy:publish
+            resolver="local"
+            artifactspattern="${build.dir}/[artifact].[ext]"
+            pubrevision="${now}"
+            pubdate="${now}"
+            status="integration"
+            forcedeliver="true"/>
+    </target>
+
+    <target name="test_clojure" depends="compile"
+        description="--> run unit tests for Clojure's core">
+        <java classname="clojure.main">
+            <classpath>
+                <path location="${classes.dir}"/>
+                <fileset dir="${lib.dir}" includes="**/*.jar"/>
+            </classpath>
+            <arg value="-e"/>
+            <arg value="(require '(clojure.contrib [test-clojure :as main])) (main/run)"/>
+        </java>
+    </target>
+
+    <target name="test_contrib" depends="compile"
+        description="--> run unit tests for contrib">
+        <java classname="clojure.main">
+            <classpath>
+                <path location="${classes.dir}"/>
+                <fileset dir="${lib.dir}" includes="**/*.jar"/>
+            </classpath>
+            <arg value="src/clojure/contrib/test_contrib.clj"/>
+        </java>
+    </target>
+
+    <target name="test_datalog" depends="compile"
+        description="--> run datalog unit tests">
+        <java classname="clojure.main">
+            <classpath>
+                <path location="${classes.dir}"/>
+                <fileset dir="${lib.dir}" includes="**/*.jar"/>
+            </classpath>
+            <arg value="src/clojure/contrib/datalog/tests/test.clj"/>
+        </java>
+    </target>
+
+    <target name="test" depends="test_clojure,test_contrib,test_datalog"
+        description="--> run all unit tests"/>
+
+</project>
