-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.xml
91 lines (78 loc) · 3.03 KB
/
build.xml
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
91
<project name="myproject" basedir="." default="compile">
<property environment="env" />
<property name="servlet.file" value="myproject.gae-proxy" />
<!-- Compojure, Enlive, appengine-clj, etc. plus all their dependancies -->
<property name="libraries.dir" value="${user.home}/Development/_Libraries/Clojure" />
<!-- App Engine SDK root -->
<property name="gae-sdk.dir" location="${user.home}/Development/_Libraries/appengine-java-sdk-1.3.1" />
<!-- VimClojure plus all it's dependancies -->
<property name="vimclojure.dir" value="${user.home}/.vim/vendor/vimclojure/lib/vimclojure" />
<property name="classes.dir" value="war/WEB-INF/classes" />
<property name="lib.dir" value="war/WEB-INF/lib" />
<property name="src.dir" value="src" />
<property name="templates.dir" value="src/myproject/templates" />
<import file="${gae-sdk.dir}/config/user/ant-macros.xml"/>
<path id="project.classpath">
<pathelement path="${classes.dir}" />
<fileset dir="${lib.dir}">
<include name="**/*.jar" />
</fileset>
<fileset dir="${gae-sdk.dir}/lib/user">
<include name="**/*.jar" />
</fileset>
<fileset dir="${gae-sdk.dir}/lib/impl">
<include name="**/*.jar" />
</fileset>
</path>
<target name="clean">
<delete dir="${classes.dir}" />
<delete dir="${lib.dir}" />
</target>
<target name="init">
<mkdir dir="${classes.dir}" />
</target>
<target name="copyjars">
<copy todir="${lib.dir}" flatten="true" includeEmptyDirs="No">
<fileset dir="${libraries.dir}" />
<fileset dir="${gae-sdk.dir}/lib/user">
<include name="*sdk*.jar" />
</fileset>
</copy>
<copy todir="${classes.dir}/templates" includeEmptyDirs="No">
<fileset dir="${templates.dir}" />
</copy>
</target>
<target name="compile" depends="clean,init,copyjars">
<java classname="clojure.lang.Compile" classpathref="project.classpath" failonerror="true">
<classpath path="${src.dir}" />
<sysproperty key="clojure.compile.path" value="${classes.dir}" />
<arg value="${servlet.file}" />
</java>
</target>
<target name="vim" description="launch Vim">
<exec executable="mvim" spawn="true">
<arg line="${src.dir}" />
</exec>
</target>
<target name="vimclojure" description="run ng server for VimClojure" depends="compile,vim">
<java classname="com.martiansoftware.nailgun.NGServer" dir="${src.dir}" fork="true">
<arg value="127.0.0.1" />
<classpath>
<pathelement path="${src.dir}" />
<fileset dir="${vimclojure.dir}">
<include name="**/*.jar" />
</fileset>
<fileset dir="${gae-sdk.dir}/lib/impl">
<include name="**/*.jar" />
</fileset>
<path refid="project.classpath" />
</classpath>
</java>
</target>
<target name="devserver" description="run local dev appserver" depends="compile">
<dev_appserver war="war" />
</target>
<target name="deploy" description="deploy to appspot" depends="compile">
<appcfg action="update" war="war" />
</target>
</project>