95
96
97 <!-- Standard target to build deliverables for JDK build. -->
98
99 <target name="build" depends="build-bootstrap-tools,build-all-classes">
100 <copy todir="${dist.dir}/bootstrap">
101 <fileset dir="${build.bootstrap.dir}" includes="bin/,lib/"/>
102 </copy>
103 <chmod dir="${dist.dir}/bootstrap/bin" perm="ugo+rx">
104 <include name="*"/>
105 </chmod>
106 <mkdir dir="${dist.lib.dir}"/>
107 <jar file="${dist.lib.dir}/classes.jar" basedir="${build.classes.dir}"/>
108 <zip file="${dist.lib.dir}/src.zip" basedir="${src.classes.dir}"/>
109 </target>
110
111 <target name="build-bootstrap-tools" depends="build-bootstrap-javac,build-bootstrap-javadoc,build-bootstrap-doclets,build-bootstrap-javah"/>
112
113 <target name="build-all-tools" depends="build-javac,build-javadoc,build-doclets,build-javah,build-javap,build-apt"/>
114
115 <target name="build-all-classes" depends="build-classes-javac,build-classes-javadoc,build-classes-doclets,build-classes-javah,build-classes-javap,build-classes-apt"/>
116
117 <!-- clean -->
118
119 <target name="clean" description="Delete all generated files">
120 <delete dir="${build.dir}"/>
121 <delete dir="${dist.dir}"/>
122 </target>
123
124 <!-- Additional targets for running tools on the build -->
125
126 <target name="jtreg" depends="build-all-tools,-def-jtreg">
127 <jtreg-tool name="all" tests="${jtreg.tests}"/>
128 </target>
129
130 <target name="findbugs" depends="-def-findbugs,build-all-tools">
131 <property name="findbugs.reportLevel" value="medium"/>
132 <mkdir dir="${dist.findbugs.dir}"/>
133 <findbugs
134 home="${findbugs.home}"
135 projectName="JDK langtools ${full.version}"
171 <fileset dir="${build.classes.dir}"
172 includes="**/*.class" excludes="**/resources/*.class"/>
173 </cobertura-instrument>
174 </target>
175
176 <target name="coverage-report" depends="-def-cobertura">
177 <mkdir dir="${dist.coverage.dir}"/>
178 <cobertura-report
179 srcdir="${src.classes.dir}"
180 destdir="${dist.coverage.dir}"
181 datafile="${build.coverage.dir}/cobertura.ser"/>
182 <cobertura-report
183 format="xml"
184 srcdir="${src.classes.dir}"
185 destdir="${dist.coverage.dir}"
186 datafile="${build.coverage.dir}/cobertura.ser"/>
187 </target>
188
189 <!-- javac targets -->
190
191 <target name="build-bootstrap-javac" depends="-def-build-bootstrap-tool">
192 <build-bootstrap-tool name="javac" includes="${javac.includes}"/>
193 </target>
194
195 <target name="build-classes-javac" depends="build-bootstrap-javac">
196 <build-classes name="javac" includes="${javac.includes}"/>
197 </target>
198
199 <target name="build-javac" depends="build-bootstrap-javac">
200 <build-tool name="javac" includes="${javac.includes}"/>
201 </target>
202
203 <target name="javadoc-javac" depends="build-javac,-def-javadoc-tool">
204 <javadoc-tool name="javac" includes="${javac.includes}" options="${javadoc.jls3.option}"/>
205 </target>
206
207 <target name="jtreg-javac" depends="build-javac,-def-jtreg">
208 <jtreg-tool name="javac" tests="${javac.tests}"/>
209 </target>
210
211 <target name="findbugs-javac" depends="build-javac,-def-findbugs">
212 <findbugs-tool name="javac"/>
213 </target>
214
215 <target name="javac" depends="build-javac,jtreg-javac,findbugs-javac"/>
216
217 <!-- javadoc targets -->
218
219 <target name="build-bootstrap-javadoc" depends="build-bootstrap-javac">
220 <build-bootstrap-tool name="javadoc"
221 includes="${javadoc.includes}"
222 jarclasspath="javac.jar doclets.jar"/>
223 </target>
224
225 <target name="build-classes-javadoc" depends="build-classes-javac">
226 <build-classes name="javadoc" includes="${javadoc.includes}"/>
227 </target>
228
229 <target name="build-javadoc" depends="build-javac">
230 <build-tool name="javadoc"
231 includes="${javadoc.includes}"
232 jarclasspath="javac.jar doclets.jar"/>
233 </target>
234
235 <target name="javadoc-javadoc" depends="build-javadoc,-def-javadoc-tool">
236 <javadoc-tool name="javadoc" includes="${javadoc.includes}"/>
237 </target>
238
239 <target name="jtreg-javadoc" depends="build-javadoc,-def-jtreg">
240 <jtreg-tool name="javadoc" tests="${javadoc.tests}"/>
241 </target>
242
243 <target name="findbugs-javadoc" depends="build-javadoc,-def-findbugs">
244 <findbugs-tool name="javadoc"/>
245 </target>
246
247 <target name="javadoc" depends="build-javadoc,jtreg-javadoc,findbugs-javadoc"/>
248
249 <!-- doclets targets -->
250
251 <target name="build-bootstrap-doclets" depends="build-bootstrap-javadoc,-def-build-bootstrap-jar">
252 <build-bootstrap-jar name="doclets"
253 includes="${doclets.includes}"
254 jarmainclass="com.sun.tools.javadoc.Main"
255 jarclasspath="javadoc.jar"/>
256 </target>
257
258 <target name="build-classes-doclets" depends="build-classes-javadoc">
259 <build-classes name="doclets" includes="${doclets.includes}"/>
260 </target>
261
262 <target name="build-doclets" depends="build-javadoc">
263 <!-- just jar, no bin for doclets -->
264 <build-jar name="doclets"
265 includes="${doclets.includes}"
266 jarclasspath="javadoc.jar"/>
267 </target>
268
269 <!-- (no javadoc for doclets) -->
270
271 <target name="jtreg-doclets" depends="build-doclets,-def-jtreg">
272 <jtreg-tool name="doclets" tests="${doclets.tests}"/>
273 </target>
274
275 <target name="findbugs-doclets" depends="build-doclets,-def-findbugs">
276 <findbugs-tool name="doclets"/>
277 </target>
278
279 <target name="doclets" depends="build-doclets,jtreg-doclets,findbugs-doclets"/>
280
281 <!-- javah targets -->
282
283 <target name="build-bootstrap-javah" depends="build-bootstrap-javadoc">
284 <build-bootstrap-tool name="javah"
285 includes="${javah.includes}"
286 jarclasspath="javadoc.jar doclets.jar javac.jar"/>
287 </target>
288
289 <target name="build-javah" depends="build-javac">
290 <build-tool name="javah"
291 includes="${javah.includes}"
292 jarclasspath="javac.jar"/>
293 </target>
294
295 <target name="build-classes-javah" depends="build-classes-javadoc">
296 <build-classes name="javah" includes="${javah.includes}"/>
297 </target>
298
299 <!-- (no javadoc for javah) -->
300
301 <target name="jtreg-javah" depends="build-javah,-def-jtreg">
302 <jtreg-tool name="javah" tests="${javah.tests}"/>
303 </target>
304
305 <target name="findbugs-javah" depends="build-javah,-def-findbugs">
306 <findbugs-tool name="javah"/>
307 </target>
308
309 <target name="javah" depends="build-javah,jtreg-javah,findbugs-javah"/>
310
311 <!-- javap targets -->
312
313 <target name="build-bootstrap-javap" depends="-def-build-bootstrap-tool">
314 <build-bootstrap-tool name="javap"
315 includes="${javap.includes}"
316 jarmainclass="sun.tools.javap.Main"/>
317 </target>
318
319 <target name="build-classes-javap" depends="build-classes-javac">
320 <build-classes name="javap" includes="${javap.includes}"/>
321 </target>
322
323 <target name="build-javap" depends="build-javac">
324 <build-tool name="javap"
325 includes="${javap.includes}"
326 jarmainclass="com.sun.tools.javap.Main"
327 jarclasspath="javac.jar"/>
328 </target>
329
330 <!-- (no javadoc for javap) -->
331
332 <target name="jtreg-javap" depends="build-javap,-def-jtreg">
333 <jtreg-tool name="javap" tests="${javap.tests}"/>
334 </target>
335
336 <target name="findbugs-javap" depends="build-javap,-def-findbugs">
337 <findbugs-tool name="javap"/>
338 </target>
339
340 <target name="javap" depends="build-javap,jtreg-javap,findbugs-javap"/>
341
342 <!-- apt targets -->
343
344 <target name="build-bootstrap-apt" depends="build-bootstrap-javac">
345 <build-bootstrap-tool name="apt"
346 includes="${apt.includes}"
347 jarclasspath="javac.jar"/>
348 </target>
349
350 <target name="build-apt" depends="build-javac">
351 <build-tool name="apt"
352 includes="${apt.includes}"
353 jarclasspath="javac.jar"/>
354 </target>
355
356 <target name="build-classes-apt" depends="build-classes-javac">
357 <build-classes name="apt" includes="${apt.includes}"/>
358 </target>
359
360 <target name="javadoc-apt" depends="build-apt,-def-javadoc-tool">
361 <javadoc-tool name="apt" includes="${apt.includes}"/>
362 </target>
363
364
365 <target name="jtreg-apt" depends="build-apt,-def-jtreg">
366 <jtreg-tool name="apt" tests="${apt.tests}"/>
367 </target>
368
369 <target name="findbugs-apt" depends="build-apt,-def-findbugs">
370 <findbugs-tool name="apt"/>
371 </target>
372
373 <target name="apt" depends="build-apt,jtreg-apt,findbugs-apt"/>
374
375 <!-- Check targets -->
376
377 <target name="-check-boot.java.home" depends="-def-check">
379 </target>
380
381 <target name="-check-target.java.home" depends="-def-check">
382 <check name="target java" property="target.java.home" marker="${java.marker}"/>
383 </target>
384
385 <target name="-check-cobertura.home" depends="-def-check">
386 <check name="cobertura" property="cobertura.home" marker="cobertura.jar"/>
387 </target>
388
389 <target name="-check-findbugs.home" depends="-def-check">
390 <check name="findbugs" property="findbugs.home" marker="lib/findbugs.jar"/>
391 </target>
392
393 <target name="-check-jtreg.home" depends="-def-check">
394 <check name="jtreg" property="jtreg.home" marker="lib/jtreg.jar"/>
395 </target>
396
397 <!-- Ant macro and preset defs -->
398
399 <target name="-def-build-tool" depends="-def-build-jar">
400 <macrodef name="build-tool">
401 <attribute name="name"/>
402 <attribute name="includes"/>
403 <attribute name="excludes" default="**/package-info.java"/>
404 <attribute name="bin.dir" default="${dist.bin.dir}"/>
405 <attribute name="classes.dir" default="${build.classes.dir}"/>
406 <attribute name="gensrc.dir" default="${build.gensrc.dir}"/>
407 <attribute name="lib.dir" default="${dist.lib.dir}"/>
408 <attribute name="java" default="${launcher.java}"/>
409 <attribute name="javac.bootclasspath" default="${build.bootstrap.dir}/classes"/>
410 <attribute name="javac.java.home" default="${boot.java.home}"/>
411 <attribute name="javac.source" default="${javac.source}"/>
412 <attribute name="javac.target" default="${javac.target}"/>
413 <attribute name="jarmainclass" default="com.sun.tools.@{name}.Main"/>
414 <attribute name="jarclasspath" default=""/>
415 <attribute name="release" default="${release}"/>
416 <attribute name="full.version" default="${full.version}"/>
417 <sequential>
418 <build-jar
419 name="@{name}"
420 gensrc.dir="@{gensrc.dir}"
421 classes.dir="@{classes.dir}"
422 lib.dir="@{lib.dir}"
423 includes="@{includes}"
424 excludes="@{excludes}"
425 jarmainclass="@{jarmainclass}"
426 jarclasspath="@{jarclasspath}"
427 release="@{release}"
428 full.version="@{full.version}"
429 javac.bootclasspath="@{javac.bootclasspath}"
430 javac.source="@{javac.source}"
431 javac.target="@{javac.target}"
432 />
433 <mkdir dir="@{bin.dir}"/>
434 <copy file="${src.bin.dir}/launcher.sh-template" tofile="@{bin.dir}/@{name}">
435 <filterset begintoken="#" endtoken="#">
436 <filter token="PROGRAM" value="@{name}"/>
437 <filter token="TARGET_JAVA" value="@{java}"/>
438 </filterset>
439 </copy>
440 <chmod file="@{bin.dir}/@{name}" perm="ugo+rx"/>
441 </sequential>
442 </macrodef>
443 </target>
444
445 <target name="-def-build-jar" depends="-def-build-classes">
446 <macrodef name="build-jar">
447 <attribute name="name"/>
448 <attribute name="includes"/>
449 <attribute name="excludes" default="**/package-info.java"/>
450 <attribute name="classes.dir" default="${build.classes.dir}"/>
451 <attribute name="gensrc.dir" default="${build.gensrc.dir}"/>
452 <attribute name="lib.dir" default="${dist.lib.dir}"/>
453 <attribute name="javac.bootclasspath" default="${build.bootstrap.dir}/classes"/>
454 <attribute name="javac.java.home" default="${boot.java.home}"/>
455 <attribute name="javac.source" default="${javac.source}"/>
456 <attribute name="javac.target" default="${javac.target}"/>
457 <attribute name="jarmainclass" default="com.sun.tools.@{name}.Main"/>
458 <attribute name="jarclasspath" default=""/>
459 <attribute name="release" default="${release}"/>
460 <attribute name="full.version" default="${full.version}"/>
461 <sequential>
462 <build-classes
463 name="@{name}"
464 gensrc.dir="@{gensrc.dir}"
465 classes.dir="@{classes.dir}"
466 includes="@{includes}"
467 excludes="@{excludes}"
468 release="@{release}"
469 full.version="@{full.version}"
470 javac.bootclasspath="@{javac.bootclasspath}"
471 javac.source="@{javac.source}"
472 javac.target="@{javac.target}"
473 />
474 <mkdir dir="@{lib.dir}"/>
475 <jar destfile="@{lib.dir}/@{name}.jar"
476 basedir="@{classes.dir}"
477 includes="@{includes}">
478 <manifest>
479 <attribute name="Main-Class" value="@{jarmainclass}"/>
480 <attribute name="Class-Path" value="@{jarclasspath}"/>
481 </manifest>
482 </jar>
483 </sequential>
484 </macrodef>
485 </target>
486
487 <target name="-def-build-classes" depends="-def-pcompile">
488 <macrodef name="build-classes">
489 <attribute name="name"/>
490 <attribute name="includes"/>
491 <attribute name="excludes" default="**/package-info.java"/>
492 <attribute name="classes.dir" default="${build.classes.dir}"/>
493 <attribute name="gensrc.dir" default="${build.gensrc.dir}"/>
494 <attribute name="javac.bootclasspath" default="${build.bootstrap.dir}/classes"/>
495 <attribute name="javac.java.home" default="${boot.java.home}"/>
496 <attribute name="javac.source" default="${javac.source}"/>
497 <attribute name="javac.target" default="${javac.target}"/>
498 <attribute name="release" default="${release}"/>
499 <attribute name="full.version" default="${full.version}"/>
500 <sequential>
501 <mkdir dir="@{gensrc.dir}"/>
502 <mkdir dir="@{classes.dir}"/>
503 <pcompile srcdir="${src.classes.dir}"
504 destdir="@{gensrc.dir}"
505 includes="@{includes}"/>
506 <copy todir="@{gensrc.dir}">
507 <fileset dir="${src.classes.dir}" includes="@{includes}"/>
508 <globmapper from="*.properties-template" to="*.properties"/>
509 <filterset begintoken="$(" endtoken=")">
510 <filter token="JDK_VERSION" value="${jdk.version}"/>
511 <filter token="RELEASE" value="@{release}"/>
512 <filter token="FULL_VERSION" value="@{full.version}"/>
513 </filterset>
514 </copy>
515 <pcompile srcdir="@{gensrc.dir}"
516 destdir="@{gensrc.dir}"
517 includes="**/*.properties"/>
518 <javac fork="true"
519 executable="@{javac.java.home}/bin/javac"
520 srcdir="@{gensrc.dir}"
521 destdir="@{classes.dir}"
522 includes="@{includes}"
523 sourcepath=""
524 includeAntRuntime="no"
525 source="@{javac.source}"
526 target="@{javac.target}">
527 <compilerarg value="-J-Xbootclasspath/p:@{javac.bootclasspath}"/>
528 <compilerarg line="${javac.version.opt}"/>
529 <compilerarg line="-Xlint"/>
530 </javac>
531 <javac fork="true"
532 executable="@{javac.java.home}/bin/javac"
533 srcdir="${src.classes.dir}"
534 destdir="@{classes.dir}"
535 includes="@{includes}"
536 excludes="@{excludes}"
537 sourcepath=""
538 includeAntRuntime="no"
539 source="@{javac.source}"
540 target="@{javac.target}"
541 debug="${javac.debug}"
542 debuglevel="${javac.debuglevel}">
543 <compilerarg value="-J-Xbootclasspath/p:@{javac.bootclasspath}"/>
544 <compilerarg value="-Xbootclasspath/p:@{classes.dir}"/>
545 <compilerarg line="${javac.no.jdk.warnings}"/>
546 <compilerarg line="${javac.version.opt}"/>
547 <compilerarg line="${javac.lint.opts}"/>
548 </javac>
549 <copy todir="@{classes.dir}">
550 <fileset dir="${src.classes.dir}">
551 <include name="@{includes}"/>
552 <exclude name="**/*.java"/>
553 <exclude name="**/*.properties"/>
554 <exclude name="**/*-template"/>
555 <exclude name="**/package.html"/>
556 </fileset>
557 </copy>
558 </sequential>
559 </macrodef>
560 </target>
561
562 <target name="-def-build-bootstrap-tool" depends="-check-boot.java.home,-def-build-tool">
563 <presetdef name="build-bootstrap-tool">
564 <build-tool
565 javac.source="${boot.javac.source}"
566 javac.target="${boot.javac.target}"
567 gensrc.dir="${build.bootstrap.dir}/gensrc"
568 classes.dir="${build.bootstrap.dir}/classes"
569 bin.dir="${build.bootstrap.dir}/bin"
570 lib.dir="${build.bootstrap.dir}/lib"
571 java="${boot.java}"
572 javac.bootclasspath=""
573 release="${bootstrap.release}"
574 full.version="${bootstrap.full.version}"/>
575 </presetdef>
576 </target>
577
578 <target name="-def-build-bootstrap-jar" depends="-def-build-jar">
579 <presetdef name="build-bootstrap-jar">
580 <build-jar
581 javac.source="${boot.javac.source}"
582 javac.target="${boot.javac.target}"
583 gensrc.dir="${build.bootstrap.dir}/gensrc"
584 classes.dir="${build.bootstrap.dir}/classes"
585 lib.dir="${build.bootstrap.dir}/lib"
586 javac.bootclasspath=""
587 release="${bootstrap.release}"
588 full.version="${bootstrap.full.version}"/>
589 </presetdef>
590 </target>
591
592 <target name="-def-pcompile">
593 <mkdir dir="${build.toolclasses.dir}"/>
594 <javac fork="true"
595 source="${boot.javac.source}"
596 target="${boot.javac.target}"
597 executable="${boot.java.home}/bin/javac"
598 srcdir="${make.tools.dir}/CompileProperties"
599 destdir="${build.toolclasses.dir}/"
600 classpath="${ant.home}/lib/ant.jar"/>
601 <taskdef name="pcompile"
602 classname="CompilePropertiesTask"
603 classpath="${build.toolclasses.dir}/"/>
604 </target>
605
|
95
96
97 <!-- Standard target to build deliverables for JDK build. -->
98
99 <target name="build" depends="build-bootstrap-tools,build-all-classes">
100 <copy todir="${dist.dir}/bootstrap">
101 <fileset dir="${build.bootstrap.dir}" includes="bin/,lib/"/>
102 </copy>
103 <chmod dir="${dist.dir}/bootstrap/bin" perm="ugo+rx">
104 <include name="*"/>
105 </chmod>
106 <mkdir dir="${dist.lib.dir}"/>
107 <jar file="${dist.lib.dir}/classes.jar" basedir="${build.classes.dir}"/>
108 <zip file="${dist.lib.dir}/src.zip" basedir="${src.classes.dir}"/>
109 </target>
110
111 <target name="build-bootstrap-tools" depends="build-bootstrap-javac,build-bootstrap-javadoc,build-bootstrap-doclets,build-bootstrap-javah"/>
112
113 <target name="build-all-tools" depends="build-javac,build-javadoc,build-doclets,build-javah,build-javap,build-apt"/>
114
115 <target name="build-all-classes" depends="build-bootstrap-javac">
116 <build-classes includes="${javac.includes} ${javadoc.includes} ${doclets.includes} ${javah.includes} ${javap.includes} ${apt.includes}"/>
117 </target>
118
119 <!-- clean -->
120
121 <target name="clean" description="Delete all generated files">
122 <delete dir="${build.dir}"/>
123 <delete dir="${dist.dir}"/>
124 </target>
125
126 <!-- Additional targets for running tools on the build -->
127
128 <target name="jtreg" depends="build-all-tools,-def-jtreg">
129 <jtreg-tool name="all" tests="${jtreg.tests}"/>
130 </target>
131
132 <target name="findbugs" depends="-def-findbugs,build-all-tools">
133 <property name="findbugs.reportLevel" value="medium"/>
134 <mkdir dir="${dist.findbugs.dir}"/>
135 <findbugs
136 home="${findbugs.home}"
137 projectName="JDK langtools ${full.version}"
173 <fileset dir="${build.classes.dir}"
174 includes="**/*.class" excludes="**/resources/*.class"/>
175 </cobertura-instrument>
176 </target>
177
178 <target name="coverage-report" depends="-def-cobertura">
179 <mkdir dir="${dist.coverage.dir}"/>
180 <cobertura-report
181 srcdir="${src.classes.dir}"
182 destdir="${dist.coverage.dir}"
183 datafile="${build.coverage.dir}/cobertura.ser"/>
184 <cobertura-report
185 format="xml"
186 srcdir="${src.classes.dir}"
187 destdir="${dist.coverage.dir}"
188 datafile="${build.coverage.dir}/cobertura.ser"/>
189 </target>
190
191 <!-- javac targets -->
192
193 <target name="build-bootstrap-javac"
194 depends="-def-build-bootstrap-classes,-def-build-bootstrap-jar,-def-build-bootstrap-tool">
195 <build-bootstrap-classes includes="${javac.includes}"/>
196 <build-bootstrap-jar name="javac" includes="${javac.includes}"/>
197 <build-bootstrap-tool name="javac"/>
198 </target>
199
200 <target name="build-classes-javac" depends="build-bootstrap-javac">
201 <build-classes includes="${javac.includes}"/>
202 </target>
203
204 <target name="build-javac" depends="build-classes-javac">
205 <build-jar name="javac" includes="${javac.includes}"/>
206 <build-tool name="javac"/>
207 </target>
208
209 <target name="javadoc-javac" depends="build-javac,-def-javadoc-tool">
210 <javadoc-tool name="javac" includes="${javac.includes}" options="${javadoc.jls3.option}"/>
211 </target>
212
213 <target name="jtreg-javac" depends="build-javac,-def-jtreg">
214 <jtreg-tool name="javac" tests="${javac.tests}"/>
215 </target>
216
217 <target name="findbugs-javac" depends="build-javac,-def-findbugs">
218 <findbugs-tool name="javac"/>
219 </target>
220
221 <target name="javac" depends="build-javac,jtreg-javac,findbugs-javac"/>
222
223 <!-- javadoc targets -->
224
225 <target name="build-bootstrap-javadoc" depends="build-bootstrap-javac">
226 <build-bootstrap-classes includes="${javadoc.includes}"/>
227 <build-bootstrap-jar name="javadoc" includes="${javadoc.includes}"
228 jarclasspath="javac.jar doclets.jar"/>
229 <build-bootstrap-tool name="javadoc"/>
230 </target>
231
232 <target name="build-classes-javadoc" depends="build-classes-javac">
233 <build-classes includes="${javadoc.includes}"/>
234 </target>
235
236 <target name="build-javadoc" depends="build-javac,build-classes-javadoc">
237 <build-jar name="javadoc" includes="${javadoc.includes}"
238 jarclasspath="javac.jar doclets.jar"/>
239 <build-tool name="javadoc"/>
240 </target>
241
242 <target name="javadoc-javadoc" depends="build-javadoc,-def-javadoc-tool">
243 <javadoc-tool name="javadoc" includes="${javadoc.includes}"/>
244 </target>
245
246 <target name="jtreg-javadoc" depends="build-javadoc,-def-jtreg">
247 <jtreg-tool name="javadoc" tests="${javadoc.tests}"/>
248 </target>
249
250 <target name="findbugs-javadoc" depends="build-javadoc,-def-findbugs">
251 <findbugs-tool name="javadoc"/>
252 </target>
253
254 <target name="javadoc" depends="build-javadoc,jtreg-javadoc,findbugs-javadoc"/>
255
256 <!-- doclets targets -->
257
258 <target name="build-bootstrap-doclets" depends="build-bootstrap-javadoc,-def-build-bootstrap-jar">
259 <build-bootstrap-classes includes="${doclets.includes}"/>
260 <build-bootstrap-jar name="doclets" includes="${doclets.includes}"
261 jarmainclass="com.sun.tools.javadoc.Main"
262 jarclasspath="javadoc.jar"/>
263 </target>
264
265 <target name="build-classes-doclets" depends="build-classes-javadoc">
266 <build-classes includes="${doclets.includes}"/>
267 </target>
268
269 <target name="build-doclets" depends="build-javadoc,build-classes-doclets">
270 <!-- just jar, no bin for doclets -->
271 <build-jar name="doclets" includes="${doclets.includes}" jarclasspath="javadoc.jar"/>
272 </target>
273
274 <!-- (no javadoc for doclets) -->
275
276 <target name="jtreg-doclets" depends="build-doclets,-def-jtreg">
277 <jtreg-tool name="doclets" tests="${doclets.tests}"/>
278 </target>
279
280 <target name="findbugs-doclets" depends="build-doclets,-def-findbugs">
281 <findbugs-tool name="doclets"/>
282 </target>
283
284 <target name="doclets" depends="build-doclets,jtreg-doclets,findbugs-doclets"/>
285
286 <!-- javah targets -->
287
288 <target name="build-bootstrap-javah" depends="build-bootstrap-javadoc">
289 <build-bootstrap-classes includes="${javah.includes}"/>
290 <build-bootstrap-jar name="javah" includes="${javah.includes}"
291 jarclasspath="javadoc.jar doclets.jar javac.jar"/>
292 <build-bootstrap-tool name="javah"/>
293 </target>
294
295 <target name="build-javah" depends="build-javac,build-classes-javah">
296 <build-jar name="javah" includes="${javah.includes}" jarclasspath="javac.jar"/>
297 <build-tool name="javah"/>
298 </target>
299
300 <target name="build-classes-javah" depends="build-classes-javadoc">
301 <build-classes includes="${javah.includes}"/>
302 </target>
303
304 <!-- (no javadoc for javah) -->
305
306 <target name="jtreg-javah" depends="build-javah,-def-jtreg">
307 <jtreg-tool name="javah" tests="${javah.tests}"/>
308 </target>
309
310 <target name="findbugs-javah" depends="build-javah,-def-findbugs">
311 <findbugs-tool name="javah"/>
312 </target>
313
314 <target name="javah" depends="build-javah,jtreg-javah,findbugs-javah"/>
315
316 <!-- javap targets -->
317
318 <target name="build-bootstrap-javap"
319 depends="-def-build-bootstrap-classes,-def-build-bootstrap-jar,-def-build-bootstrap-tool">
320 <build-bootstrap-classes includes="${javap.includes}"/>
321 <build-bootstrap-jar name="javap" includes="${javap.includes}"
322 jarmainclass="sun.tools.javap.Main"/>
323 <build-bootstrap-tool name="javap"/>
324 </target>
325
326 <target name="build-classes-javap" depends="build-classes-javac">
327 <build-classes includes="${javap.includes}"/>
328 </target>
329
330 <target name="build-javap" depends="build-javac,build-classes-javap">
331 <build-jar includes="${javap.includes}"
332 jarmainclass="com.sun.tools.javap.Main"
333 jarclasspath="javac.jar"/>
334 <build-tool name="javap"/>
335 </target>
336
337 <!-- (no javadoc for javap) -->
338
339 <target name="jtreg-javap" depends="build-javap,-def-jtreg">
340 <jtreg-tool name="javap" tests="${javap.tests}"/>
341 </target>
342
343 <target name="findbugs-javap" depends="build-javap,-def-findbugs">
344 <findbugs-tool name="javap"/>
345 </target>
346
347 <target name="javap" depends="build-javap,jtreg-javap,findbugs-javap"/>
348
349 <!-- apt targets -->
350
351 <target name="build-bootstrap-apt" depends="build-bootstrap-javac">
352 <build-bootstrap-classes includes="${apt.includes}"/>
353 <build-bootstrap-jar name="apt" includes="${apt.includes}"
354 jarclasspath="javac.jar"/>
355 <build-bootstrap-tool name="apt"/>
356 </target>
357
358 <target name="build-apt" depends="build-javac,build-classes-apt">
359 <build-jar name="apt" includes="${apt.includes}" jarclasspath="javac.jar"/>
360 <build-tool name="apt"/>
361 </target>
362
363 <target name="build-classes-apt" depends="build-classes-javac">
364 <build-classes includes="${apt.includes}"/>
365 </target>
366
367 <target name="javadoc-apt" depends="build-apt,-def-javadoc-tool">
368 <javadoc-tool name="apt" includes="${apt.includes}"/>
369 </target>
370
371
372 <target name="jtreg-apt" depends="build-apt,-def-jtreg">
373 <jtreg-tool name="apt" tests="${apt.tests}"/>
374 </target>
375
376 <target name="findbugs-apt" depends="build-apt,-def-findbugs">
377 <findbugs-tool name="apt"/>
378 </target>
379
380 <target name="apt" depends="build-apt,jtreg-apt,findbugs-apt"/>
381
382 <!-- Check targets -->
383
384 <target name="-check-boot.java.home" depends="-def-check">
386 </target>
387
388 <target name="-check-target.java.home" depends="-def-check">
389 <check name="target java" property="target.java.home" marker="${java.marker}"/>
390 </target>
391
392 <target name="-check-cobertura.home" depends="-def-check">
393 <check name="cobertura" property="cobertura.home" marker="cobertura.jar"/>
394 </target>
395
396 <target name="-check-findbugs.home" depends="-def-check">
397 <check name="findbugs" property="findbugs.home" marker="lib/findbugs.jar"/>
398 </target>
399
400 <target name="-check-jtreg.home" depends="-def-check">
401 <check name="jtreg" property="jtreg.home" marker="lib/jtreg.jar"/>
402 </target>
403
404 <!-- Ant macro and preset defs -->
405
406 <target name="-def-build-tool">
407 <macrodef name="build-tool">
408 <attribute name="name"/>
409 <attribute name="bin.dir" default="${dist.bin.dir}"/>
410 <attribute name="java" default="${launcher.java}"/>
411 <sequential>
412 <mkdir dir="@{bin.dir}"/>
413 <copy file="${src.bin.dir}/launcher.sh-template" tofile="@{bin.dir}/@{name}">
414 <filterset begintoken="#" endtoken="#">
415 <filter token="PROGRAM" value="@{name}"/>
416 <filter token="TARGET_JAVA" value="@{java}"/>
417 </filterset>
418 </copy>
419 <chmod file="@{bin.dir}/@{name}" perm="ugo+rx"/>
420 </sequential>
421 </macrodef>
422 </target>
423
424 <target name="-def-build-jar">
425 <macrodef name="build-jar">
426 <attribute name="name"/>
427 <attribute name="includes"/>
428 <attribute name="classes.dir" default="${build.classes.dir}"/>
429 <attribute name="lib.dir" default="${dist.lib.dir}"/>
430 <attribute name="jarmainclass" default="com.sun.tools.@{name}.Main"/>
431 <attribute name="jarclasspath" default=""/>
432 <sequential>
433 <mkdir dir="@{lib.dir}"/>
434 <jar destfile="@{lib.dir}/@{name}.jar"
435 basedir="@{classes.dir}"
436 includes="@{includes}">
437 <manifest>
438 <attribute name="Main-Class" value="@{jarmainclass}"/>
439 <attribute name="Class-Path" value="@{jarclasspath}"/>
440 </manifest>
441 </jar>
442 </sequential>
443 </macrodef>
444 </target>
445
446 <target name="-def-build-classes" depends="-def-pcompile">
447 <macrodef name="build-classes">
448 <attribute name="includes"/>
449 <attribute name="excludes" default="**/package-info.java"/>
450 <attribute name="classes.dir" default="${build.classes.dir}"/>
451 <attribute name="gensrc.dir" default="${build.gensrc.dir}"/>
452 <attribute name="javac.bootclasspath" default="${build.bootstrap.dir}/classes"/>
453 <attribute name="javac.java.home" default="${boot.java.home}"/>
454 <attribute name="javac.source" default="${javac.source}"/>
455 <attribute name="javac.target" default="${javac.target}"/>
456 <attribute name="release" default="${release}"/>
457 <attribute name="full.version" default="${full.version}"/>
458 <sequential>
459 <mkdir dir="@{gensrc.dir}"/>
460 <mkdir dir="@{classes.dir}"/>
461 <pcompile srcdir="${src.classes.dir}"
462 destdir="@{gensrc.dir}"
463 includes="@{includes}"/>
464 <copy todir="@{gensrc.dir}">
465 <fileset dir="${src.classes.dir}" includes="@{includes}"/>
466 <globmapper from="*.properties-template" to="*.properties"/>
467 <filterset begintoken="$(" endtoken=")">
468 <filter token="JDK_VERSION" value="${jdk.version}"/>
469 <filter token="RELEASE" value="@{release}"/>
470 <filter token="FULL_VERSION" value="@{full.version}"/>
471 </filterset>
472 </copy>
473 <pcompile srcdir="@{gensrc.dir}"
474 destdir="@{gensrc.dir}"
475 includes="**/*.properties"/>
476 <javac fork="true"
477 executable="@{javac.java.home}/bin/javac"
478 srcdir="${src.classes.dir}:@{gensrc.dir}"
479 destdir="@{classes.dir}"
480 includes="@{includes}"
481 excludes="@{excludes}"
482 sourcepath=""
483 includeAntRuntime="no"
484 source="@{javac.source}"
485 target="@{javac.target}"
486 debug="${javac.debug}"
487 debuglevel="${javac.debuglevel}">
488 <compilerarg value="-J-Xbootclasspath/p:@{javac.bootclasspath}"/>
489 <compilerarg value="-Xbootclasspath/p:@{classes.dir}"/>
490 <compilerarg line="${javac.no.jdk.warnings}"/>
491 <compilerarg line="${javac.version.opt}"/>
492 <compilerarg line="${javac.lint.opts}"/>
493 </javac>
494 <copy todir="@{classes.dir}">
495 <fileset dir="${src.classes.dir}">
496 <include name="@{includes}"/>
497 <exclude name="**/*.java"/>
498 <exclude name="**/*.properties"/>
499 <exclude name="**/*-template"/>
500 <exclude name="**/package.html"/>
501 </fileset>
502 </copy>
503 </sequential>
504 </macrodef>
505 </target>
506
507 <target name="-def-build-bootstrap-tool" depends="-check-boot.java.home,-def-build-tool">
508 <presetdef name="build-bootstrap-tool">
509 <build-tool
510 bin.dir="${build.bootstrap.dir}/bin"
511 java="${boot.java}"/>
512 </presetdef>
513 </target>
514
515 <target name="-def-build-bootstrap-jar" depends="-def-build-jar">
516 <presetdef name="build-bootstrap-jar">
517 <build-jar
518 classes.dir="${build.bootstrap.dir}/classes"
519 lib.dir="${build.bootstrap.dir}/lib"/>
520 </presetdef>
521 </target>
522
523 <target name="-def-build-bootstrap-classes" depends="-def-build-classes">
524 <presetdef name="build-bootstrap-classes">
525 <build-classes
526 javac.source="${boot.javac.source}"
527 javac.target="${boot.javac.target}"
528 gensrc.dir="${build.bootstrap.dir}/gensrc"
529 classes.dir="${build.bootstrap.dir}/classes"
530 javac.bootclasspath=""
531 release="${bootstrap.release}"
532 full.version="${bootstrap.full.version}"/>
533 </presetdef>
534 </target>
535
536 <target name="-def-pcompile">
537 <mkdir dir="${build.toolclasses.dir}"/>
538 <javac fork="true"
539 source="${boot.javac.source}"
540 target="${boot.javac.target}"
541 executable="${boot.java.home}/bin/javac"
542 srcdir="${make.tools.dir}/CompileProperties"
543 destdir="${build.toolclasses.dir}/"
544 classpath="${ant.home}/lib/ant.jar"/>
545 <taskdef name="pcompile"
546 classname="CompilePropertiesTask"
547 classpath="${build.toolclasses.dir}/"/>
548 </target>
549
|