summaryrefslogtreecommitdiff
path: root/build.xml
blob: a1d3490fa1b78ae298965a6b4058b5b5882085b7 (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
<project name="clojure" default="jar">

	<description>
		Build with "ant jar" and then start the REPL
		via "java -cp clojure.jar clojure.lang.Repl src/boot.clj".
	</description>

	<property name="src" location="src"/>
	<property name="jsrc" location="${src}/jvm"/>
	<property name="cljsrc" location="${src}/clj"/>
	<property name="build" location="classes"/>
	<property name="clojure_jar" location="clojure.jar"/>
	<property name="bootclj" location="${cljsrc}/clojure/core.clj"/>
	<property name="precompile" location="${cljsrc}/precompile.clj"/>

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

	<target name="compile" depends="init"
		description="Compile Java sources.">
		<javac srcdir="${jsrc}" destdir="${build}" includeJavaRuntime="yes" debug="true" target="1.5"/>
	</target>

	<target name="core" depends="compile"
		description="Precompile Clojure core sources.">
		<java classname="clojure.lang.Script"
                      classpath="${build}:${cljsrc}">
                        <sysproperty key="clojure.compile.path" value="${build}"/>
			<arg value="${precompile}"/>
		</java>
	</target>

	<target name="jar" depends="core"
		description="Create jar file.">
		<jar jarfile="${clojure_jar}" basedir="${build}">
			<!-- <fileset dir="${cljsrc}" includes="**/*.clj"/> -->
			<manifest>
				<attribute name="Main-Class" value="clojure.lang.Repl"/>
				<attribute name="Class-Path" value="."/>
			</manifest>
		</jar>
	</target>

	<target name="clean"
		description="Remove autogenerated files and directories.">
		<delete dir="${build}"/>
	</target>

</project>