|
3 | 3 | <property name="version" value="SNAPSHOT" description="Version number to use in build files"/>
|
4 | 4 | <property name="haltonfailure" value="true" description="Whether to halt the build if the tests fail"/>
|
5 | 5 | <property name="debug" value="true" description="Whether to build with debug information"/>
|
| 6 | + <tstamp><format property="build.timestamp" pattern="yyyy-MM-dd HH:mm:ss" timezone="GMT"/></tstamp> |
6 | 7 |
|
7 | 8 | <target name="all" depends="clean, package" description="Performs clean build, runs tests and packages for distribution"/>
|
8 | 9 |
|
|
12 | 13 |
|
13 | 14 | <target name="generator" description="Build code generator tool">
|
14 | 15 | <java-to-jar srcdir="hamcrest-generator/src/main/java"
|
15 |
| - modulename="hamcrest-generator-nodeps-${version}" |
| 16 | + modulename="hamcrest-generator-nodeps" |
16 | 17 | classpath="lib/generator/qdox-1.12.jar"/>
|
17 | 18 |
|
18 | 19 | <!-- Bundle QDox classes in hamcrest-generator.jar using JarJar to place classes under a different package -->
|
|
26 | 27 | </target>
|
27 | 28 |
|
28 | 29 | <target name="core" depends="generator" description="Build core Hamcrest library">
|
29 |
| - <java-to-jar srcdir="hamcrest-core/src/main/java" modulename="hamcrest-core-${version}"/> |
| 30 | + <java-to-jar srcdir="hamcrest-core/src/main/java" modulename="hamcrest-core"/> |
30 | 31 |
|
31 | 32 | <!-- Generate one class with all static imports -->
|
32 | 33 | <mkdir dir="build/temp/hamcrest-core/generated-code"/>
|
|
45 | 46 | </java>
|
46 | 47 | <!-- Append to core jar -->
|
47 | 48 | <java-to-jar srcdir="build/temp/hamcrest-core/generated-code"
|
48 |
| - modulename="hamcrest-core-${version}" |
| 49 | + modulename="hamcrest-core" |
49 | 50 | classpath="build/hamcrest-core-${version}.jar"/>
|
50 | 51 | </target>
|
51 | 52 |
|
|
54 | 55 | description="Build library of matchers">
|
55 | 56 | <mkdir dir="build/temp/hamcrest-library/generated-code"/>
|
56 | 57 | <java-to-jar srcdir="hamcrest-library/src/main/java"
|
57 |
| - modulename="hamcrest-library-${version}" |
| 58 | + modulename="hamcrest-library" |
58 | 59 | classpath="build/hamcrest-core-${version}.jar"/>
|
59 | 60 | <!-- Generate one class with all static imports -->
|
60 | 61 | <java classname="org.hamcrest.generator.config.XmlConfigurator"
|
|
72 | 73 | </java>
|
73 | 74 | <!-- Append to library jar -->
|
74 | 75 | <java-to-jar srcdir="build/temp/hamcrest-library/generated-code"
|
75 |
| - modulename="hamcrest-library-${version}" |
| 76 | + modulename="hamcrest-library" |
76 | 77 | classpath="build/hamcrest-core-${version}.jar"/>
|
77 | 78 | </target>
|
78 | 79 |
|
79 | 80 | <target name="integration" depends="core, library" description="Build integration with external tools">
|
80 |
| - <java-to-jar srcdir="hamcrest-integration/src/main/java" modulename="hamcrest-integration-${version}" |
81 |
| - classpath=" |
82 |
| - build/hamcrest-core-${version}.jar; |
83 |
| - build/hamcrest-library-${version}.jar"/> |
| 81 | + <java-to-jar srcdir="hamcrest-integration/src/main/java" |
| 82 | + modulename="hamcrest-integration" |
| 83 | + classpath="build/hamcrest-core-${version}.jar; |
| 84 | + build/hamcrest-library-${version}.jar"/> |
84 | 85 | </target>
|
85 | 86 |
|
86 | 87 | <target name="unit-test" depends="core, library, integration, generator" description="Build and run unit tests.">
|
87 |
| - <java-to-jar srcdir="hamcrest-unit-test/src/main/java" modulename="hamcrest-unit-test-${version}" |
88 |
| - classpath=" |
89 |
| - build/hamcrest-core-${version}.jar; |
90 |
| - build/hamcrest-library-${version}.jar; |
91 |
| - build/hamcrest-integration-${version}.jar; |
92 |
| - build/hamcrest-generator-${version}.jar"/> |
| 88 | + <java-to-jar srcdir="hamcrest-unit-test/src/main/java" modulename="hamcrest-unit-test" |
| 89 | + classpath="build/hamcrest-core-${version}.jar; |
| 90 | + build/hamcrest-library-${version}.jar; |
| 91 | + build/hamcrest-integration-${version}.jar; |
| 92 | + build/hamcrest-generator-${version}.jar"/> |
93 | 93 | <junit printsummary="no" fork="no" haltonfailure="${haltonfailure}">
|
94 | 94 | <formatter type="brief" usefile="no"/>
|
95 | 95 | <classpath>
|
|
113 | 113 |
|
114 | 114 | <target name="examples" depends="core, library, integration" description="Build and run unit tests.">
|
115 | 115 | <java-to-jar srcdir="hamcrest-examples/src/main/java"
|
116 |
| - modulename="hamcrest-examples-${version}" |
117 |
| - classpath=" |
118 |
| - build/hamcrest-core-${version}.jar; |
119 |
| - build/hamcrest-library-${version}.jar; |
120 |
| - build/hamcrest-integration-${version}.jar"/> |
| 116 | + modulename="hamcrest-examples" |
| 117 | + classpath="build/hamcrest-core-${version}.jar; |
| 118 | + build/hamcrest-library-${version}.jar; |
| 119 | + build/hamcrest-integration-${version}.jar"/> |
121 | 120 | </target>
|
122 | 121 |
|
123 | 122 | <target name="bigjar" depends="core, library, integration, generator"
|
124 | 123 | description="Build a single Jar (hamcrest-all.jar) that contains core, library, generator and integration.">
|
125 |
| - <jar jarfile="build/hamcrest-all-${version}.jar" duplicate="preserve"> |
| 124 | + <mkdir dir="build/temp/hamcrest-all-${version}.jar.manifest"/> |
| 125 | + <manifest file="build/temp/hamcrest-all-${version}.jar.manifest/MANIFEST.MF"> |
| 126 | + <attribute name="Implementation-Title" value="hamcrest-all"/> |
| 127 | + <attribute name="Implementation-Vendor" value="hamcrest.org"/> |
| 128 | + <attribute name="Implementation-Version" value="${version}"/> |
| 129 | + <attribute name="Built-By" value="${user.name}"/> |
| 130 | + <attribute name="Built-Date" value="${build.timestamp}"/> |
| 131 | + </manifest> |
| 132 | + <jar jarfile="build/hamcrest-all-${version}.jar" duplicate="preserve" manifest="build/temp/hamcrest-all-${version}.jar.manifest/MANIFEST.MF"> |
126 | 133 | <zipfileset src="build/hamcrest-core-${version}.jar"/>
|
127 | 134 | <zipfileset src="build/hamcrest-library-${version}.jar"/>
|
128 | 135 | <zipfileset src="build/hamcrest-generator-${version}.jar"/>
|
129 | 136 | <zipfileset src="build/hamcrest-integration-${version}.jar"/>
|
130 | 137 | </jar>
|
131 |
| - <jar jarfile="build/hamcrest-all-${version}-sources.jar" duplicate="preserve"> |
| 138 | + <jar jarfile="build/hamcrest-all-${version}-sources.jar" duplicate="preserve" manifest="build/temp/hamcrest-all-${version}.jar.manifest/MANIFEST.MF"> |
132 | 139 | <zipfileset src="build/hamcrest-core-${version}-sources.jar"/>
|
133 | 140 | <zipfileset src="build/hamcrest-library-${version}-sources.jar"/>
|
134 | 141 | <zipfileset src="build/hamcrest-generator-${version}-sources.jar"/>
|
|
137 | 144 | </target>
|
138 | 145 |
|
139 | 146 | <target name="javadoc" description="build javadoc jars">
|
140 |
| - <java-to-javadoc-jar modulename="hamcrest-generator-nodeps-${version}"/> |
141 |
| - <java-to-javadoc-jar modulename="hamcrest-core-${version}"/> |
142 |
| - <java-to-javadoc-jar modulename="hamcrest-library-${version}"/> |
143 |
| - <java-to-javadoc-jar modulename="hamcrest-integration-${version}"/> |
| 147 | + <java-to-javadoc-jar modulename="hamcrest-generator-nodeps"/> |
| 148 | + <java-to-javadoc-jar modulename="hamcrest-core"/> |
| 149 | + <java-to-javadoc-jar modulename="hamcrest-library"/> |
| 150 | + <java-to-javadoc-jar modulename="hamcrest-integration"/> |
144 | 151 | <copy file="build/hamcrest-generator-nodeps-${version}-javadoc.jar" tofile="build/hamcrest-generator-${version}-javadoc.jar"/>
|
145 | 152 |
|
146 | 153 | <javadoc packagenames="org.hamcrest.*" defaultexcludes="yes"
|
|
268 | 275 | <attribute name="modulename" description="Name of the module to jar"/>
|
269 | 276 | <attribute name="classpath" description="Anything additional to add on the classpath" default=""/>
|
270 | 277 | <sequential>
|
271 |
| - <mkdir dir="build/temp/@{modulename}.jar.contents"/> |
272 |
| - <javac srcdir="@{srcdir}" destdir="build/temp/@{modulename}.jar.contents" debug="${debug}" target="1.5" includeantruntime="false"> |
| 278 | + <mkdir dir="build/temp/@{modulename}-${version}.jar.manifest"/> |
| 279 | + <manifest file="build/temp/@{modulename}-${version}.jar.manifest/MANIFEST.MF"> |
| 280 | + <attribute name="Implementation-Title" value="@{modulename}"/> |
| 281 | + <attribute name="Implementation-Vendor" value="hamcrest.org"/> |
| 282 | + <attribute name="Implementation-Version" value="${version}"/> |
| 283 | + <attribute name="Built-By" value="${user.name}"/> |
| 284 | + <attribute name="Built-Date" value="${build.timestamp}"/> |
| 285 | + </manifest> |
| 286 | + <mkdir dir="build/temp/@{modulename}-${version}.jar.contents"/> |
| 287 | + <javac srcdir="@{srcdir}" destdir="build/temp/@{modulename}-${version}.jar.contents" debug="${debug}" target="1.5" includeantruntime="false"> |
273 | 288 | <classpath>
|
274 | 289 | <fileset dir="lib/integration">
|
275 | 290 | <include name="*.jar"/>
|
276 | 291 | </fileset>
|
277 | 292 | <pathelement path="@{classpath}"/>
|
278 | 293 | </classpath>
|
279 | 294 | </javac>
|
280 |
| - <copy file="LICENSE.txt" todir="build/temp/@{modulename}.jar.contents"/> |
281 |
| - <jar jarfile="build/@{modulename}.jar"> |
282 |
| - <fileset dir="build/temp/@{modulename}.jar.contents"/> |
| 295 | + <copy file="LICENSE.txt" todir="build/temp/@{modulename}-${version}.jar.contents"/> |
| 296 | + <jar jarfile="build/@{modulename}-${version}.jar" manifest="build/temp/@{modulename}-${version}.jar.manifest/MANIFEST.MF"> |
| 297 | + <fileset dir="build/temp/@{modulename}-${version}.jar.contents"/> |
283 | 298 | </jar>
|
284 | 299 |
|
285 | 300 | <!-- Build sources jar -->
|
286 |
| - <copy todir="build/temp/@{modulename}-sources.jar.contents"> |
| 301 | + <copy todir="build/temp/@{modulename}-${version}-sources.jar.contents"> |
287 | 302 | <fileset dir="@{srcdir}"/>
|
288 | 303 | </copy>
|
289 |
| - <jar jarfile="build/@{modulename}-sources.jar"> |
290 |
| - <fileset dir="build/temp/@{modulename}-sources.jar.contents"/> |
| 304 | + <jar jarfile="build/@{modulename}-${version}-sources.jar" manifest="build/temp/@{modulename}-${version}.jar.manifest/MANIFEST.MF"> |
| 305 | + <fileset dir="build/temp/@{modulename}-${version}-sources.jar.contents"/> |
291 | 306 | </jar>
|
292 | 307 | </sequential>
|
293 | 308 | </macrodef>
|
294 | 309 |
|
295 | 310 | <macrodef name="java-to-javadoc-jar" description="Generate javadoc for a module and build a Jar">
|
296 | 311 | <attribute name="modulename" description="Name of the module to document"/>
|
297 | 312 | <sequential>
|
298 |
| - <javadoc packagenames="org.hamcrest.*" sourcepath="build/temp/@{modulename}-sources.jar.contents" defaultexcludes="yes" |
299 |
| - destdir="build/temp/@{modulename}-javadoc.jar.contents" author="true" version="true" use="true" |
| 313 | + <javadoc packagenames="org.hamcrest.*" sourcepath="build/temp/@{modulename}-${version}-sources.jar.contents" defaultexcludes="yes" |
| 314 | + destdir="build/temp/@{modulename}-${version}-javadoc.jar.contents" author="true" version="true" use="true" |
300 | 315 | windowtitle="Hamcrest" source="1.6" failonerror="yes">
|
301 | 316 | <classpath>
|
302 | 317 | <fileset dir="lib/integration">
|
|
309 | 324 | <fileset file="build/hamcrest-integration-${version}.jar"/>
|
310 | 325 | </classpath>
|
311 | 326 | </javadoc>
|
312 |
| - <jar jarfile="build/@{modulename}-javadoc.jar"> |
313 |
| - <fileset dir="build/temp/@{modulename}-javadoc.jar.contents"/> |
| 327 | + <jar jarfile="build/@{modulename}-${version}-javadoc.jar"> |
| 328 | + <fileset dir="build/temp/@{modulename}-${version}-javadoc.jar.contents"/> |
314 | 329 | </jar>
|
315 | 330 | </sequential>
|
316 | 331 | </macrodef>
|
|
0 commit comments