1
+ <?xml version =" 1.0" ?>
2
+
3
+ <!--
4
+ Build file for jmxtrans.
5
+ -->
6
+ <project name =" jmxtrans" default =" jar" basedir =" ." >
7
+
8
+ <property name =" name" value =" ${ ant.project.name } " />
9
+
10
+ <property file =" user.properties" />
11
+ <property file =" ${ user.home } /build.properties" />
12
+ <property file =" build.properties" />
13
+ <property file =" build.credentials.properties" />
14
+
15
+ <property name =" base.dir" location =" ." />
16
+
17
+ <property name =" build.debug" value =" on" />
18
+ <property name =" build.deprecation" value =" on" />
19
+
20
+ <property name =" ant.build.javac.target" value =" 1.5" />
21
+ <property name =" ant.build.javac.source" value =" 1.5" />
22
+
23
+ <property name =" build.dir" location =" target" />
24
+ <property name =" build.classes.dir" location =" ${ build.dir } /classes" />
25
+ <property name =" build.javadoc.dir" location =" ${ build.dir } /javadoc" />
26
+ <property name =" build.jar.file" location =" ${ build.dir } /${ name } .jar" />
27
+
28
+ <property name =" docs.dir" value =" ${ build.dir } /docs" />
29
+ <property name =" javadoc.dir" value =" javadoc" />
30
+
31
+ <property name =" lib.dir" location =" lib" />
32
+ <property name =" src.dir" location =" src" />
33
+
34
+ <tstamp />
35
+ <tstamp >
36
+ <format property =" YEAR" pattern =" yyyy" />
37
+ </tstamp >
38
+
39
+ <path id =" master.classpath" >
40
+ <fileset dir =" ${ lib.dir } " >
41
+ <include name =" **/*.jar" />
42
+ </fileset >
43
+ </path >
44
+
45
+ <path id =" run.classpath" >
46
+ <pathelement location =" ${ build.classes.dir } " />
47
+ <path refid =" master.classpath" />
48
+ </path >
49
+
50
+ <target name =" init" >
51
+ <typedef resource =" com/googlecode/svntask/svntask.xml" >
52
+ <classpath >
53
+ <fileset dir =" ${ lib.dir } " >
54
+ <include name =" **/svnkit.jar" />
55
+ <include name =" **/svntask.jar" />
56
+ </fileset >
57
+ </classpath >
58
+ </typedef >
59
+
60
+ <svn ><info path =" ${ basedir } " revisionProperty =" revisionVersion" /></svn >
61
+
62
+ <taskdef classname =" net.bluecow.googlecode.ant.GoogleCodeUploadTask" classpath =" ${ lib.dir } /ant-googlecode-0.0.2.jar" name =" gcupload" />
63
+
64
+ <!-- A hack because svnant does not respect Ant's properties can't be overwritten rule. -->
65
+ <property name =" version" value =" ${ revisionVersion } " />
66
+ <property name =" build.version" value =" ${ revisionVersion } " />
67
+
68
+ <property name =" build.dist.dir" location =" ${ build.dir } /${ ant.project.name } -${ version } " />
69
+ <property name =" build.dist.zip" location =" ${ build.dir } /${ ant.project.name } -${ version } .zip" />
70
+ </target >
71
+
72
+ <target name =" clean" >
73
+ <delete dir =" ${ build.dir } " />
74
+ </target >
75
+
76
+ <target name =" classes" depends =" init" >
77
+ <mkdir dir =" ${ build.classes.dir } " />
78
+
79
+ <javac srcdir =" ${ src.dir } "
80
+ destdir=" ${ build.classes.dir } "
81
+ debug=" ${ build.debug } "
82
+ deprecation=" ${ build.deprecation } "
83
+ includeantruntime =" false"
84
+ >
85
+ <classpath refid =" master.classpath" />
86
+ </javac >
87
+ </target >
88
+
89
+ <target name =" jar" depends =" classes" >
90
+ <jar destfile =" ${ build.jar.file } " basedir =" ${ build.classes.dir } " >
91
+ <manifest >
92
+ <attribute name =" Specification-Version" value =" ${ version } " />
93
+ <attribute name =" Implementation-Version" value =" ${ TODAY } " />
94
+ <attribute name =" Main-Class" value =" com.googlecode.jmxlogger.Version" />
95
+ </manifest >
96
+ </jar >
97
+ </target >
98
+
99
+ <target name =" javadoc" depends =" classes" >
100
+ <javadoc
101
+ destdir=" ${ build.javadoc.dir } "
102
+ packagenames=" *"
103
+ classpathref=" run.classpath"
104
+ author=" true"
105
+ version=" true"
106
+ Windowtitle=" jmxlogger javadoc"
107
+ >
108
+ <fileset dir =" ${ src.dir } " >
109
+ <exclude name =" **/test/**" />
110
+ <exclude name =" **/*.xml" />
111
+ </fileset >
112
+ <doctitle ><![CDATA[ <h1>jmxtrans</h1>]]> </doctitle >
113
+ <bottom ><![CDATA[ <i>Copyright © ${YEAR} Jon Stevens and a gang of pencils. All Rights Reserved. Build version: ${build.version}</i>]]> </bottom >
114
+ </javadoc >
115
+
116
+ <sync todir =" ${ javadoc.dir } " includeEmptyDirs =" true" >
117
+ <fileset dir =" ${ build.javadoc.dir } " />
118
+ <preserveintarget >
119
+ <include name =" **/.svn/**" />
120
+ </preserveintarget >
121
+ </sync >
122
+ </target >
123
+
124
+ <target name =" dist" depends =" clean, jar, javadoc" >
125
+ <copy todir =" ${ build.dist.dir } " >
126
+ <fileset dir =" ${ build.dir } " >
127
+ <include name =" javadoc/**" />
128
+ </fileset >
129
+
130
+ <fileset dir =" ." >
131
+ <include name =" build.xml" />
132
+ <include name =" README.html" />
133
+ </fileset >
134
+ </copy >
135
+
136
+ <copy todir =" ${ build.dist.dir } " >
137
+ <fileset dir =" ${ build.dir } " >
138
+ <include name =" *.jar" />
139
+ </fileset >
140
+ </copy >
141
+
142
+ <copy todir =" ${ build.dist.dir } /lib" >
143
+ <fileset dir =" lib" >
144
+ <include name =" *.jar" />
145
+ </fileset >
146
+ </copy >
147
+
148
+ <copy todir =" ${ build.dist.dir } /src" >
149
+ <fileset dir =" ${ base.dir } /src" >
150
+ <include name =" **" />
151
+ </fileset >
152
+ </copy >
153
+
154
+ <dirname property =" build.dist.dir.dirname" file =" ${ build.dist.dir } " />
155
+ <basename property =" build.dist.dir.basename" file =" ${ build.dist.dir } " />
156
+
157
+ <zip zipfile =" ${ build.dist.zip } " basedir =" ${ build.dist.dir.dirname } " >
158
+ <include name =" ${ build.dist.dir.basename } /**" />
159
+ </zip >
160
+ </target >
161
+
162
+ <target name =" upload" depends =" init" >
163
+ <gcupload projectname =" sardine"
164
+ userName=" ${ gc.username } "
165
+ password=" ${ gc.password } "
166
+ filename=" ${ build.dist.zip } "
167
+ targetfilename=" ${ build.dist.zip } "
168
+ summary=" Sardine distribution"
169
+ labels=" Featured, Type-Package, OpSys-All" />
170
+ </target >
171
+ </project >
0 commit comments