-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathbuild.xml
132 lines (112 loc) · 4.53 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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
<project name="org.eclipse.paho.client.mqttv3" default="full">
<description>Builds a redistributable JAR and documentation for the Paho Java client.</description>
<taskdef resource="net/sf/antcontrib/antcontrib.properties"/>
<property name="property.file" value="antbuild.properties"/>
<property file="${property.file}"/>
<property name="source.folder" value="./" />
<property name="output.folder" value="./build" />
<property name="ship.folder" value="${output.folder}/dist" />
<property name="paho-client-v3-jar" value="org.eclipse.paho.client.mqttv3.jar" />
<property name="paho-client-v3-source-jar" value="org.eclipse.paho.client.mqttv3source.jar" />
<property name="build.level" value="LYYMMDD" />
<!-- these should be moved to properties file if required -->
<property name="javac_target" value="1.2" />
<property name="javac_source" value="1.2" />
<property name="javac_debug" value="on" />
<property name="javac_debuglevel" value="lines,vars,source" />
<target name="init">
<mkdir dir="${output.folder}/src" />
<mkdir dir="${output.folder}/bin" />
</target>
<target name="updateManifest" description="Update manifest file.">
<manifest file="${folder}/META-INF/MANIFEST.MF" mode="update">
<attribute name="Bundle-Version" value="${bundleVersion}" />
<attribute name="Bundle-Vendor" value="${bundleVendor}" />
<attribute name="Bundle-ManifestVersion" value="2" />
<attribute name="Bundle-ClassPath" value="${bundle_classpath}" />
<attribute name="Implementation-Version" value="${client.release.version}" />
<attribute name="Build-Level" value="${build.level}" />
</manifest>
<!-- <if><isset property="jar.copyright"/>
<then>
<manifest file="${folder}/META-INF/MANIFEST.MF" mode="update">
<attribute name="Bundle-Copyright" value="${jar.copyright}" />
</manifest>
</then>
</if> -->
</target>
<target name="compile" depends="init" description="Compile Java classes.">
<echo>Compiling client library...</echo>
<copy overwrite="true" todir="${output.folder}/src">
<fileset dir="${source.folder}/src" />
</copy>
<replace file="${output.folder}/src/org/eclipse/paho/client/mqttv3/internal/ClientComms.java"
token="@@BUILDLEVEL@@"
value="${build.level}"/>
<replace file="${output.folder}/src/org/eclipse/paho/client/mqttv3/internal/ClientComms.java"
token="@@VERSION@@"
value="${client.release.version}"/>
<javac srcdir="${output.folder}/src"
destdir="${output.folder}/bin"
source="${javac_source}"
target="${javac_target}"
debug="${javac_debug}"
debuglevel="${javac_debuglevel}"
includeantruntime="false" >
</javac>
<!-- Copy additional source files to the output tree -->
<copy overwrite="true" todir="${output.folder}/bin">
<fileset dir="${source.folder}">
<include name="META-INF/*" />
</fileset>
<fileset dir="${source.folder}/src">
<include name="**/*.properties" />
</fileset>
</copy>
<antcall target="updateManifest">
<param name="folder" value="${output.folder}/bin" />
<param name="bundle_classpath" value="." />
</antcall>
</target>
<target name="javadoc" depends="compile" description="Build Javadoc.">
<echo>Generating documentation...</echo>
<mkdir dir="${ship.folder}/javadoc" />
<javadoc access="public"
defaultexcludes="yes"
destdir="${ship.folder}/javadoc"
author="false"
version="true"
breakiterator="true"
use="true"
windowtitle="Eclipse Paho MQTT v3.1 Client API">
<classpath>
<pathelement location="${output.folder}/bin" />
</classpath>
<packageset dir="${output.folder}/src/">
<include name="org/eclipse/paho/client/mqttv3/**" />
<exclude name="**/internal/**" />
</packageset>
<group title="Eclipse Paho MQTT v3.1 Client API"
packages="org.eclipse.paho.client.mqttv3" />
</javadoc>
</target>
<target name="package" depends="compile, javadoc" description="Build JAR file.">
<echo>Creating JAR file...</echo>
<mkdir dir="${ship.folder}" />
<jar jarfile="${ship.folder}/${paho-client-v3-jar}"
excludes=""
basedir="${output.folder}/bin"
manifest="${output.folder}/bin/META-INF/MANIFEST.MF" >
</jar>
<jar jarfile="${ship.folder}/${paho-client-v3-source-jar}"
basedir="${source.folder}/src" >
</jar>
</target>
<target name="clean" description="Clean up build artefacts.">
<echo>Cleaning project...</echo>
<delete dir="${output.folder}" />
<delete dir="${ship.folder}" />
</target>
<target name="full" depends="clean,compile,javadoc,package"
description="Clean, build and package." />
</project>