-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.xml
110 lines (101 loc) · 5.25 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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
<?xml version="1.0" encoding="UTF-8"?>
<project name="toxiclibs" default="release">
<!-- This needs to change with every release -->
<property name="project.name" value="artnet4j" />
<property name="lib.version" value="0001" />
<property name="lib.jdk.level" value="1.5" />
<property name="lib.zip.comment" value="${project.name} - Art-Net / DMX512 over IP implementation for Java v${lib.version}" />
<property name="lib.libs.path" value="lib" />
<property name="lib.jar.filename" value="${project.name}.jar" />
<property name="src.dir" value="src" />
<property name="build.dir" value="bin" />
<property name="release.dir" value="dist" />
<!-- build folder contains temporary files needed to create release level files -->
<property name="build.classes.dir" value="${build.dir}" />
<property name="build.manifest" value="${build.dir}/${project.name}.mf" />
<property name="build.jar" value="${build.dir}/${lib.jar.filename}" />
<!-- release folder contains files which may be distributed in some way or another -->
<property name="release.javadoc.dir" value="docs" />
<property name="release.jar" value="${release.dir}/${lib.jar.filename}" />
<property name="release.src.zip" value="${release.dir}/${project.name}-${lib.version}-src.zip" />
<property name="release.bin.zip" value="${release.dir}/${project.name}-${lib.version}.zip" />
<property name="release.examples.dir" value="examples" />
<property name="readme.dir" value="readme" />
<property name="doap.lib" value="${lib.libs.path}/doapamine.jar" />
<property name="doap.src.dir" value="src.doap" />
<property name="doap.file" value="doap.rdf" />
<taskdef name="doap" classname="com.triplescape.doapamine.DOAPTask">
<classpath>
<pathelement location="${doap.lib}" />
<pathelement location="${build.dir}" />
</classpath>
</taskdef>
<target name="clean" description="Remove build files created this scripts">
<delete dir="${build.dir}" />
<delete dir="${release.javadoc.dir}" />
<delete file="${release.bin.zip}/" />
<delete file="${release.src.zip}/" />
</target>
<target name="compile" depends="clean" description="Compile source">
<mkdir dir="${build.classes.dir}" />
<javac destdir="${build.classes.dir}" source="${lib.jdk.level}" target="${lib.jdk.level}">
<src path="${src.dir}"/>
<!-- <src path="${doap.src.dir}"/> -->
<compilerarg value="-Xlint:unchecked" />
<classpath>
<pathelement location="${lib.libs.path}" />
<pathelement location="${lib.libs.path}/doapamine.jar" />
</classpath>
</javac>
</target>
<target name="create_manifest" description="Create the jar manifest">
<echo file="${build.manifest}" append="false" message="Manifest-Version: 1.0${line.separator}" />
</target>
<target name="jars" depends="create_manifest" description="Create jar files required for execution">
<mkdir dir="${release.dir}" />
<jar jarfile="${release.jar}" manifest="${build.manifest}">
<fileset dir="${build.classes.dir}" />
</jar>
</target>
<!-- release directory targets -->
<target name="zips" depends="jars" description="Create release zip files">
<mkdir dir="${release.dir}" />
<zip destfile="${release.bin.zip}" comment="${lib.zip.comment} - Binary release">
<zipfileset dir="${release.dir}" includes="${project.name}.jar" prefix="${project.name}/library" />
<zipfileset dir="${release.javadoc.dir}" prefix="${project.name}/docs" />
<!--
<zipfileset dir="${release.examples.dir}" prefix="${project.name}/examples" />
<zipfileset dir=".." includes="LICENSE.txt" prefix="${project.name}" />
<zipfileset dir="${readme.dir}" includes="README.txt" prefix="${project.name}" />
<zipfileset dir="${readme.dir}" includes="CHANGELOG.txt" prefix="${project.name}" />
<zipfileset dir="${release.dir}" includes="${doap.file}" prefix="${project.name}" />
-->
</zip>
<zip destfile="${release.src.zip}" comment="${lib.zip.comment} - Source code release">
<zipfileset dir="${src.dir}" prefix="${project.name}/src" />
<zipfileset dir="${release.javadoc.dir}" prefix="${project.name}/docs" />
<!--
<zipfileset dir="${release.examples.dir}" prefix="${project.name}/examples" />
<zipfileset dir=".." includes="LICENSE.txt" prefix="${project.name}" />
<zipfileset dir="${readme.dir}" includes="README.txt" prefix="${project.name}" />
<zipfileset dir="${readme.dir}" includes="CHANGELOG.txt" prefix="${project.name}" />
<zipfileset dir="${release.dir}" includes="${doap.file}" prefix="${project.name}" />
-->
</zip>
</target>
<target name="javadoc" depends="compile" description="Generate documentation">
<mkdir dir="${release.javadoc.dir}" />
<javadoc destdir="${release.javadoc.dir}" access="public" use="true" notree="false" nonavbar="false" noindex="false" splitindex="true" author="true" version="true" nodeprecatedlist="false" nodeprecated="false" sourcepath="${src.dir}" doctitle="toxiclibs (${project.name}) v${lib.version}">
<classpath>
<pathelement location="${lib.libs.path}" />
</classpath>
<packageset dir="${src.dir}" defaultexcludes="yes">
<include name="**" />
</packageset>
</javadoc>
</target>
<target name="generate_doap" description="Generates RDF DOAP file">
<doap class="toxi.doap.DOAPInfo" output="${release.dir}/${doap.file}" />
</target>
<target name="release" depends="clean, compile, javadoc, zips" />
</project>