summaryrefslogtreecommitdiff
path: root/compojure-3.2/build.xml
blob: a8418abb82a92aef0212d12b3e258532b813e77a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
<project name="compojure" default="jar">
  <description>
    Compojure library package.
  </description>

  <property name="build.dir" location="classes"/>
  <property name="deps.dir" location="deps"/>
  <property name="source.dir" location="src"/>
  <property name="tests.dir" location="test"/>
  <property name="compojure.jar" location="compojure.jar"/>
  <property name="deps.file" value="deps.zip"/>
  <property name="deps.url" value="http://cloud.github.com/downloads/weavejester/compojure/${deps.file}"/>

  <path id="classpath">
    <path location="${build.dir}"/>
    <path location="${source.dir}"/>
    <fileset dir="${deps.dir}">
      <include name="*.jar"/>
    </fileset>
  </path>
  
  <target name="clean" description="Remove generated files">
    <delete file="${compojure.jar}"/>
    <delete dir="${build.dir}"/>
  </target>

  <target name="init" depends="clean">
    <tstamp/>
    <mkdir dir="${build.dir}"/>
  </target>

  <target name="compile" depends="compile-compojure, compile-grizzly-server" description="Compile sources."/>

  <target name="compile-compojure" depends="init" description="Compile compojure sources">
    <java classname="clojure.lang.Compile" fork="true">
      <sysproperty key="clojure.compile.path" value="${build.dir}"/>
      <classpath refid="classpath"/>
      <arg value="compojure"/>
      <arg value="compojure.control"/>
      <arg value="compojure.html"/>
      <arg value="compojure.html.gen"/>
      <arg value="compojure.html.form-helpers"/>
      <arg value="compojure.html.page-helpers"/>
      <arg value="compojure.http"/>
      <arg value="compojure.http.routes"/>
      <arg value="compojure.http.request"/>
      <arg value="compojure.http.response"/>
      <arg value="compojure.http.session"/>
      <arg value="compojure.http.servlet"/>
      <arg value="compojure.http.helpers"/>
      <arg value="compojure.ns-utils"/>
      <arg value="compojure.server.common"/>
      <arg value="compojure.server.jetty"/>
      <arg value="compojure.str-utils"/>
      <arg value="compojure.validation"/>
    </java>
  </target>

  <target name="compile-grizzly-server" depends="compile-compojure" description="Compile Grizzly server" if="with.grizzly">
    <java classname="clojure.lang.Compile">
      <sysproperty key="clojure.compile.path" value="${build.dir}"/>
      <classpath refid="classpath"/>
      <arg value="compojure.server.grizzly"/>
    </java>
  </target>

  <target name="test" description="Run tests">
    <java fork="true" classname="clojure.main" failonerror="true">
      <classpath>
          <path refid="classpath"/>
          <path location="${tests.dir}"/>
          <path location="."/>
      </classpath>
      <arg value="${tests.dir}/run.clj"/>
    </java>
  </target>

  <target name="jar" description="Create jar file" depends="compile">
    <jar jarfile="${compojure.jar}">
      <path location="LICENSE"/>
      <fileset dir="${source.dir}" includes="**/*.clj"/>
      <fileset dir="${build.dir}" includes="**/*.class"/>
    </jar>
  </target>

  <target name="deps" description="Download dependencies and unzip">
    <get usetimestamp="true" description="Clojure dependencies." src="${deps.url}" dest="${deps.file}"/>
    <unzip src="${deps.file}" dest="."/>
  </target>
</project>