Newer
Older
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
<?xml version="1.0" encoding="UTF-8"?>
<project name="e-Knife" default="dist" basedir=".">
<!-- Properties -->
<!-- Distribution -->
<property name="author.name" value="David Insa Cabrera" />
<property name="jar.name" value="${ant.project.name}.jar" />
<property name="main.class" value="eknife.EKnife" />
<property name="dist.base.dir" location="../dist" />
<property name="dist.dir" location="${dist.base.dir}/${ant.project.name}" />
<property name="workspace.location" location=".." />
<!-- References (optional) -->
<property name="Miscellanea.location" value="${workspace.location}/Miscellanea" />
<property name="EDG.location" value="${workspace.location}/EDG" />
<!-- Resources -->
<property name="src.dir" location="src" />
<property name="script.dir" location="script" />
<property name="build.dir" location="build" />
<property name="build.bin.dir" location="${build.dir}/bin" />
<property name="build.script.dir" location="${build.dir}/script" />
<!-- Creates the distribution version -->
<target name="dist" depends="build.dist, clean" />
<!-- Macros -->
<!-- Macro to build subprojects -->
<macrodef name="buildsubproject">
<attribute name="dir" />
<sequential>
<ant dir="@{dir}" inheritAll="false" target="build.project" />
<copy todir="${build.bin.dir}"><fileset dir="@{dir}/build/bin" /></copy>
</sequential>
</macrodef>
<!-- Builds the project -->
<target name="build.project" depends="build.erlang">
<mkdir dir="${build.bin.dir}"/>
<buildsubproject dir="${Miscellanea.location}" />
<buildsubproject dir="${EDG.location}" />
<javac includeantruntime="false" srcdir="${src.dir}" destdir="${build.bin.dir}"/>
<!-- Project resources -->
<copy todir="${build.script.dir}"><fileset erroronmissingdir="true" dir="${script.dir}"/></copy>
</target>
<target name="build.erlang">
<exec executable="erlc" dir="${script.dir}" failonerror="true">
<arg value="ast.erl"/>
<arg value="saver.erl"/>
</exec>
</target>
<!-- Builds the distribution version -->
<target name="build.dist" depends="build.project">
<mkdir dir="${dist.dir}" />
<jar jarfile="${dist.dir}/${jar.name}" basedir="${build.bin.dir}">
<manifest>
<attribute name="Manifest-Version" value="1.0" />
<attribute name="Main-Class" value="${main.class}"/>
</manifest>
</jar>
<copy todir="${dist.dir}/Resources/script"><fileset dir="${build.script.dir}" /></copy>
</target>
<!-- Cleans the mess done -->
<target name="clean">
<ant dir="${Miscellanea.location}" inheritAll="false" target="clean" />
<ant dir="${EDG.location}" inheritAll="false" target="clean" />
<delete dir="${build.dir}" />
<delete><fileset dir="${script.dir}" includes="**/*.beam"/></delete>
</target>
</project>