ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
(Generate patch)

Comparing jsr166/build.xml (file contents):
Revision 1.105 by jsr166, Sat Jan 19 21:54:53 2013 UTC vs.
Revision 1.129 by jsr166, Wed Jan 23 07:17:13 2013 UTC

# Line 25 | Line 25
25   ------------------------------------------------------------------------------
26    </description>
27  
28 <  <target name="usage" description="Advises user to run with -projecthelp">
29 <    <echo>Run "ant -projecthelp" for full usage information.</echo>
28 >  <target name="usage" description="Display main targets by running 'ant -projecthelp'">
29 >    <java classname="org.apache.tools.ant.Main">
30 >      <arg value="-projecthelp" />
31 >    </java>
32    </target>
33  
34  
# Line 35 | Line 37
37  
38  
39    <!-- Compilation options -->
40 <  <property name="build.sourcelevel"    value="1.6"/>
40 >  <property name="build.sourcelevel"    value="6"/>
41    <property name="build.debug"          value="true"/>
42    <property name="build.debuglevel"     value="source,lines,vars"/>
43    <property name="build.deprecation"    value="false"/>
# Line 45 | Line 47
47    <property name="build.classes.dir"           location="${build.dir}/classes"/>
48    <property name="build.testcases.dir"         location="${build.dir}/testcases"/>
49    <property name="build.loops.dir"             location="${build.dir}/loops"/>
48  <property name="build.lib.dir"               location="${build.dir}/lib"/>
49  <property name="build.javadocs.dir"          location="${build.dir}/javadocs"/>
50    <property name="build.reports.dir"           location="${build.dir}/reports"/>
51  
52 <  <property name="build.4jdk7.dir"              location="${build.dir}/4jdk7"/>
53 <  <property name="build.4jdk7.lib.dir"          location="${build.4jdk7.dir}"/>
54 <  <property name="build.4jdk7.classes.dir"      location="${build.4jdk7.dir}/classes"/>
55 <  <property name="build.4jdk7.tck.classes.dir"  location="${build.4jdk7.dir}/tck/classes"/>
56 <  <property name="build.4jdk7.docs.dir"         location="${build.4jdk7.dir}/docs"/>
52 >  <property name="build.4jdk7.dir"             location="${build.dir}/jsr166-4jdk7"/>
53 >  <property name="build.4jdk7.classes.dir"     location="${build.4jdk7.dir}/classes"/>
54 >  <property name="build.4jdk7.tck.classes.dir" location="${build.4jdk7.dir}/tck-classes"/>
55 >  <property name="build.4jdk7.docs.dir"        location="${build.4jdk7.dir}/docs"/>
56  
57    <property name="build.jsr166x.dir"           location="${build.dir}/jsr166x"/>
59  <property name="build.jsr166xlib.dir"        location="${build.dir}/jsr166xlib"/>
60  <property name="build.jsr166xjavadocs.dir"   location="${build.dir}/jsr166xjavadocs"/>
61
58    <property name="build.jsr166y.dir"           location="${build.dir}/jsr166y"/>
63  <property name="build.jsr166ylib.dir"        location="${build.dir}/jsr166ylib"/>
64  <property name="build.jsr166yjavadocs.dir"   location="${build.dir}/jsr166yjavadocs"/>
65
59    <property name="build.jsr166e.dir"           location="${build.dir}/jsr166e"/>
67  <property name="build.jsr166elib.dir"        location="${build.dir}/jsr166elib"/>
68  <property name="build.jsr166ejavadocs.dir"   location="${build.dir}/jsr166ejavadocs"/>
69
60    <property name="build.extra166y.dir"         location="${build.dir}/extra166y"/>
71  <property name="build.extra166ylib.dir"      location="${build.dir}/extra166ylib"/>
72  <property name="build.extra166yjavadocs.dir" location="${build.dir}/extra166yjavadocs"/>
61  
62 <  <!-- JDK binary locations -->
62 >  <property name="build.jsr166x.classes.dir"   location="${build.jsr166x.dir}/classes"/>
63 >  <property name="build.jsr166y.classes.dir"   location="${build.jsr166y.dir}/classes"/>
64 >  <property name="build.jsr166e.classes.dir"   location="${build.jsr166e.dir}/classes"/>
65 >  <property name="build.extra166y.classes.dir" location="${build.extra166y.dir}/classes"/>
66 >
67 >  <!-- JDK locations -->
68    <property name="jdks.home"  location="${user.home}/jdk"/>
69  
70    <macrodef name="defjdklocations">
# Line 81 | Line 74
74      <property name="java@{v}"       location="${jdk@{v}.home}/bin/java"/>
75      <property name="javac@{v}"      location="${jdk@{v}.home}/bin/javac"/>
76      <property name="javadoc@{v}"    location="${jdk@{v}.home}/bin/javadoc"/>
84    <property name="bootdir@{v}"    location="${jdk@{v}.home}/jre/lib"/>
77      <property name="jdk@{v}src.dir" location="${jdks.home}/src/jdk@{v}/jdk/src/share/classes"/>
78 <    <property name="bootclasspath@{v}"
79 <     value="${bootdir@{v}}/resources.jar:${bootdir@{v}}/rt.jar:${bootdir@{v}}/jsse.jar:${bootdir@{v}}/jce.jar:${bootdir@{v}}/:${bootdir@{v}}/charsets.jar"/>
78 >    <local name="boot.jar.dir"/>
79 >    <property name="boot.jar.dir"   location="${jdk@{v}.home}/jre/lib"/>
80 >    <path id="bootclasspath@{v}">
81 >      <pathelement path="${boot.jar.dir}/resources.jar"/>
82 >      <pathelement path="${boot.jar.dir}/rt.jar"/>
83 >      <pathelement path="${boot.jar.dir}/jsse.jar"/>
84 >      <pathelement path="${boot.jar.dir}/jce.jar"/>
85 >      <pathelement path="${boot.jar.dir}/charsets.jar"/>
86 >    </path>
87 >    <property name="bootclasspath@{v}" value="${toString:bootclasspath@{v}}"/>
88      </sequential>
89    </macrodef>
90  
91 <  <defjdklocations v="6"/>
92 <  <defjdklocations v="7"/>
93 <  <defjdklocations v="8"/>
94 <
95 <  <macrodef name="run-tck-tests">
96 <    <attribute name="jvm"/>
97 <    <attribute name="tck.classes"/>
98 <    <attribute name="product.jar" default="${product.jar}"/>
99 <    <attribute name="jvmflags" default=""/>
91 >  <macrodef name="mirror-dir">
92 >    <attribute name="src"/>
93 >    <attribute name="dst"/>
94      <sequential>
95 <    <java classname="JSR166TestCase"
96 <          jvm="@{jvm}" fork="true">
97 <        <jvmarg value="-Xbootclasspath/p:@{product.jar}"/>
98 <        <jvmarg line="@{jvmflags}"/>
99 <        <classpath>
106 <          <pathelement location="${junit.jar}"/>
107 <          <pathelement location="@{tck.classes}"/>
108 <        </classpath>
109 <    </java>
95 >    <delete dir="@{dst}"/>
96 >    <mkdir dir="@{dst}"/>
97 >    <copy todir="@{dst}" preservelastmodified="true">
98 >      <fileset dir="@{src}"/>
99 >    </copy>
100      </sequential>
101    </macrodef>
102  
103 +  <defjdklocations v="6"/>
104 +  <defjdklocations v="7"/>
105 +  <defjdklocations v="8"/>
106 +
107    <!-- Source locations -->
108    <property name="src.dir"              location="${basedir}/src/main"/>
109    <property name="test.src.dir"         location="${basedir}/src/test"/>
# Line 124 | Line 118
118    <property name="jsr166ysrc.dir"       location="${topsrc.dir}/jsr166y"/>
119    <property name="jsr166esrc.dir"       location="${topsrc.dir}/jsr166e"/>
120    <property name="extra166ysrc.dir"     location="${topsrc.dir}/extra166y"/>
127  <property name="jdksrc.dir"           location="/home/dl/1.6.0/j2se/martin/j2se/src/share/classes"/>
121  
122 <  <!-- Distribution locations -->
123 <  <property name="dist.javadocs.dir"           location="${dist.dir}/docs"/>
124 <  <property name="dist.4jdk7.docs.dir"         location="${dist.dir}/jsr166-4jdk7docs"/>
125 <  <property name="dist.jsr166xjavadocs.dir"    location="${dist.dir}/jsr166xdocs"/>
126 <  <property name="dist.jsr166yjavadocs.dir"    location="${dist.dir}/jsr166ydocs"/>
127 <  <property name="dist.jsr166ejavadocs.dir"    location="${dist.dir}/jsr166edocs"/>
128 <  <property name="dist.extra166yjavadocs.dir"  location="${dist.dir}/extra166ydocs"/>
122 >  <!-- Javadoc locations -->
123 >  <property name="docs.dir"          location="${build.dir}/docs"/>
124 >  <property name="4jdk7docs.dir"     location="${build.4jdk7.dir}/docs"/>
125 >  <property name="jsr166xdocs.dir"   location="${build.jsr166x.dir}/docs"/>
126 >  <property name="jsr166ydocs.dir"   location="${build.jsr166y.dir}/docs"/>
127 >  <property name="jsr166edocs.dir"   location="${build.jsr166e.dir}/docs"/>
128 >  <property name="extra166ydocs.dir" location="${build.extra166y.dir}/docs"/>
129 >
130 >  <property name="dist.docs.dir"          location="${dist.dir}/docs"/>
131 >  <property name="dist.4jdk7docs.dir"     location="${dist.dir}/jsr166-4jdk7docs"/>
132 >  <property name="dist.jsr166xdocs.dir"   location="${dist.dir}/jsr166xdocs"/>
133 >  <property name="dist.jsr166ydocs.dir"   location="${dist.dir}/jsr166ydocs"/>
134 >  <property name="dist.jsr166edocs.dir"   location="${dist.dir}/jsr166edocs"/>
135 >  <property name="dist.extra166ydocs.dir" location="${dist.dir}/extra166ydocs"/>
136  
137    <!-- Jar locations -->
138 <  <property name="product.jar"          location="${build.lib.dir}/jsr166.jar"/>
139 <  <property name="4jdk7product.jar"     location="${build.4jdk7.lib.dir}/jsr166-4jdk7.jar"/>
140 <  <property name="jsr166xproduct.jar"   location="${build.jsr166xlib.dir}/jsr166x.jar"/>
141 <  <property name="jsr166yproduct.jar"   location="${build.jsr166ylib.dir}/jsr166y.jar"/>
142 <  <property name="jsr166eproduct.jar"   location="${build.jsr166elib.dir}/jsr166e.jar"/>
143 <  <property name="extra166yproduct.jar" location="${build.extra166ylib.dir}/extra166y.jar"/>
144 <  <property name="junit.jar"            location="${lib.dir}/junit.jar"/>
145 <
146 <  <!-- Bootclasspath argument -->
147 <  <property name="bootclasspath.args"   value="-Xbootclasspath/p:${product.jar}"/>
138 >  <property name="product.jar"      location="${build.dir}/jsr166.jar"/>
139 >  <property name="4jdk7product.jar" location="${build.4jdk7.dir}/jsr166-4jdk7.jar"/>
140 >  <property name="jsr166x.jar"      location="${build.jsr166x.dir}/jsr166x.jar"/>
141 >  <property name="jsr166y.jar"      location="${build.jsr166y.dir}/jsr166y.jar"/>
142 >  <property name="jsr166e.jar"      location="${build.jsr166e.dir}/jsr166e.jar"/>
143 >  <property name="extra166y.jar"    location="${build.extra166y.dir}/extra166y.jar"/>
144 >  <property name="junit.jar"        location="${lib.dir}/junit.jar"/>
145  
146    <!-- Canonical location of jdk API docs, to use with javadoc link attribute -->
147    <property name="jdkapi5docs.url"      value="http://docs.oracle.com/javase/1.5.0/docs/api/"/>
# Line 152 | Line 149
149    <property name="jdkapi7docs.url"      value="http://docs.oracle.com/javase/7/docs/api/"/>
150  
151    <property name="jdkapi8docs.url"      value="http://download.java.net/jdk8/docs/api/"/>
152 <  <!-- The below does not yet exist as of 2012-11 -->
152 >  <!-- The below does not yet exist as of 2013-01 -->
153    <!-- <property name="jdkapi8docs.url" value="http://docs.oracle.com/javase/8/docs/api/"/> -->
154 +
155 +  <!-- Default jdk api doc location (latest stable release seems best) -->
156    <property name="jdkapidocs.url"       value="${jdkapi7docs.url}"/>
157  
158 +  <!-- Define the "jtreg" task -->
159 +  <!-- See the docs in "jtreg -onlineHelp" -->
160 +  <taskdef name="jtreg" classname="com.sun.javatest.regtest.Main$$Ant"
161 +           classpath="${lib.dir}/jtreg.jar" />
162 +
163    <!-- Test classpath -->
164    <path id="test.classpath">
165      <pathelement location="${build.testcases.dir}"/>
166      <pathelement location="${junit.jar}"/>
167    </path>
168  
169 +  <macrodef name="run-tck-tests">
170 +    <attribute name="tck.src.dir" default="${tck.src.dir}"/>
171 +    <attribute name="source" default="6"/>
172 +    <attribute name="target"/>
173 +    <attribute name="workdir"/>
174 +    <attribute name="classes"/>
175 +    <attribute name="jvmflags" default=""/>
176 +    <sequential>
177 +
178 +    <mkdir dir="@{workdir}/tck-classes"/>
179 +
180 +    <javac srcdir="@{tck.src.dir}"
181 +           destdir="@{workdir}/tck-classes"
182 +           debug="${build.debug}"
183 +           debuglevel="${build.debuglevel}"
184 +           deprecation="${build.deprecation}"
185 +           source="@{source}"
186 +           classpath="${junit.jar}"
187 +           bootclasspath="@{classes}:${bootclasspath@{source}}"
188 +           includeAntRuntime="false"
189 +           includeJavaRuntime="false"
190 +           executable="${javac@{target}}"
191 +           fork="true">
192 +
193 +      <include name="*.java"/>
194 +      <compilerarg value="-XDignore.symbol.file=true"/>
195 +      <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
196 +      <compilerarg line="${build.args}"/>
197 +
198 +    </javac>
199 +
200 +    <java classname="JSR166TestCase"
201 +          failonerror="true"
202 +          jvm="${java@{target}}"
203 +          fork="true">
204 +        <jvmarg value="-Xbootclasspath/p:@{classes}"/>
205 +        <jvmarg line="@{jvmflags}"/>
206 +        <classpath>
207 +          <pathelement location="${junit.jar}"/>
208 +          <pathelement location="@{workdir}/tck-classes"/>
209 +        </classpath>
210 +    </java>
211 +
212 +    </sequential>
213 +  </macrodef>
214 +
215    <!-- ALoops classpath -->
216    <path id="loops.classpath">
217      <pathelement location="${build.loops.dir}"/>
218    </path>
219  
220    <!-- Support @jls tag, used in jdk8+ javadoc -->
221 <  <!-- TODO: How do we get &trade to work? -->
172 <  <!-- TODO: Why isn't @jls a "standard" tag? -->
173 <  <!--   property name="javadoc.jls.cite" value="The Java&trade; Language Specification" -->
174 <  <property name="javadoc.jls.cite" value="The Java Language Specification"/>
221 >  <property name="javadoc.jls.cite" value="The Java&amp;trade; Language Specification"/>
222    <property name="javadoc.jls.option" value="jls:a:See &lt;cite&gt;${javadoc.jls.cite}&lt;/cite&gt;:"/>
223  
224    <!-- Main targets -->
225  
226    <target name="dists"
227 <          depends="dist, jsr166xdist, jsr166ydist,jsr166edist,  extra166ydist"
227 >          depends="dist, 4jdk7dist, jsr166edist, jsr166ydist, extra166ydist, jsr166xdist"
228            description="Builds all public jars and docs"/>
229  
230    <target name="compile"
# Line 198 | Line 245
245             fork="true">
246  
247        <include name="**/*.java"/>
201      <compilerarg line="${build.args}"/>
248        <compilerarg value="-XDignore.symbol.file=true"/>
249        <compilerarg value="-Xlint:all"/>
204
205 <!--
206      <exclude name="java/lang/**"/>
250        <compilerarg line="${build.args}"/>
208      <compilerarg line="-Xlint -Xmaxwarns 1000"/>
209 -->
251  
252      </javac>
212
253    </target>
254  
255  
216
256    <target name="jar"
257            depends="compile"
258            description="Builds library jar from compiled sources">
259  
221    <mkdir dir="${build.lib.dir}"/>
222
260      <jar destfile="${product.jar}">
261        <fileset dir="${build.classes.dir}"/>
262      </jar>
226
263    </target>
264  
265  
230
266    <target name="test"
267            depends="configure-tests, report-tests"
268            description="Runs all tests (requires JUnit 3.8.1 in ${ant.home}/lib)" />
269  
270  
236
271    <target name="docs"
272            description="Builds javadocs for src/main to dist dir">
273  
274 <    <delete dir="${dist.javadocs.dir}"/>
275 <    <mkdir dir="${dist.javadocs.dir}"/>
274 >    <delete dir="${docs.dir}"/>
275 >    <mkdir dir="${docs.dir}"/>
276  
277      <!-- the packagenames="none" hack below prevents scanning the -->
278      <!-- sourcepath for packages -->
279  
280 <    <javadoc destdir="${dist.javadocs.dir}"
280 >    <javadoc destdir="${docs.dir}"
281               packagenames="none"
282               link="${jdkapi8docs.url}"
283               overview="${src.dir}/intro.html"
284               sourcepath="${src.dir}:${jdk8src.dir}"
285               classpath=""
286               executable="${javadoc8}">
253      <arg value="-XDignore.symbol.file=true"/>
254      <arg value="-tag"/>
255      <arg value="${javadoc.jls.option}"/>
287        <fileset dir="${src.dir}" defaultexcludes="yes">
288          <include name="**/*.java"/>
289        </fileset>
290 +      <arg value="-XDignore.symbol.file=true"/>
291 +      <arg value="-tag"/>
292 +      <arg value="${javadoc.jls.option}"/>
293      </javadoc>
260
294    </target>
295  
296  
264
297    <target name="dist"
298 <          depends="dist-clean, dist-jar, docs"
298 >          depends="dist-clean, dist-jar, dist-docs"
299            description="Puts all distributable products in single hierarchy"/>
300  
301  
# Line 282 | Line 314
314        <exclude name="**/SyntaxTest.java"/>
315        <exclude name="**/SuperfluousAbstract.java"/>
316      </jar>
285
317    </target>
318  
319  
289
320    <target name="clean"
321            description="Removes all build products">
322  
323      <delete dir="${build.dir}"/>
294    <delete dir="${build.classes.dir}"/>
295    <delete dir="${build.lib.dir}"/>
324  
325    </target>
326  
327  
300
328    <target name="dist-clean"
329            description="Removes all build and distribution products">
330  
# Line 306 | Line 333
333    </target>
334  
335  
309
336    <!-- Internal targets -->
337  
338  
339    <target name="dist-jar"
340            depends="clean, jar">
315
341      <copy file="${product.jar}" todir="${dist.dir}"/>
342 +  </target>
343  
344 +  <target name="dist-docs"
345 +          depends="clean, docs">
346 +    <mirror-dir src="${docs.dir}" dst="${dist.docs.dir}"/>
347    </target>
348  
349  
# Line 324 | Line 353
353      <mkdir dir="${build.testcases.dir}"/>
354  
355      <javac srcdir="${tck.src.dir}"
356 <          destdir="${build.testcases.dir}"
357 <            debug="${build.debug}"
358 <       debuglevel="${build.debuglevel}"
359 <      deprecation="${build.deprecation}"
360 <           source="${build.sourcelevel}"
361 <             fork="true">
356 >           destdir="${build.testcases.dir}"
357 >           debug="${build.debug}"
358 >           debuglevel="${build.debuglevel}"
359 >           deprecation="${build.deprecation}"
360 >           source="6"
361 >           classpath="${junit.jar}"
362 >           bootclasspath="@{product.jar}:${bootclasspath6}"
363 >           includeAntRuntime="false"
364 >           includeJavaRuntime="false"
365 >           executable="${javac8}"
366 >           fork="true">
367  
368 <      <compilerarg value="${bootclasspath.args}"/>
335 <      <compilerarg line="${build.args}"/>
368 >      <include name="**/*.java"/>
369        <compilerarg value="-XDignore.symbol.file=true"/>
370 <
371 <      <classpath refid="test.classpath"/>
370 >      <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
371 >      <compilerarg line="${build.args}"/>
372  
373      </javac>
374  
375      <javac srcdir="${test.src.dir}"
376 <          destdir="${build.testcases.dir}"
377 <            debug="${build.debug}"
378 <       debuglevel="${build.debuglevel}"
379 <      deprecation="${build.deprecation}"
380 <           source="${build.sourcelevel}"
381 <             fork="true">
382 <
383 <      <include name="jsr166/test/**"/>
376 >           destdir="${build.testcases.dir}"
377 >           debug="${build.debug}"
378 >           debuglevel="${build.debuglevel}"
379 >           deprecation="${build.deprecation}"
380 >           source="6"
381 >           classpath=""
382 >           bootclasspath="@{product.jar}:${bootclasspath6}"
383 >           includeAntRuntime="false"
384 >           includeJavaRuntime="false"
385 >           executable="${javac8}"
386 >           fork="true">
387  
388 <      <compilerarg value="${bootclasspath.args}"/>
353 <      <compilerarg line="${build.args}"/>
388 >      <include name="jsr166/test/**/*.java"/>
389        <compilerarg value="-XDignore.symbol.file=true"/>
390 <
391 <      <classpath refid="test.classpath"/>
390 >      <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
391 >      <compilerarg line="${build.args}"/>
392  
393      </javac>
394  
# Line 366 | Line 401
401             source="${build.sourcelevel}"
402               fork="true">
403  
404 <      <compilerarg value="${bootclasspath.args}"/>
370 <      <compilerarg line="${build.args}"/>
404 >      <compilerarg value="-Xbootclasspath/p:${product.jar}"/>
405        <compilerarg value="-XDignore.symbol.file=true"/>
406 <
373 <      <classpath refid="test.classpath"/>
406 >      <compilerarg line="${build.args}"/>
407  
408      </javac>
409   -->
# Line 391 | Line 424
424            errorProperty="junit.failed"
425          failureProperty="junit.failed"
426                      dir="${build.reports.dir}"
427 +                    jvm="${java8}"
428                     fork="true">
429  
430 <      <jvmarg value="${bootclasspath.args}"/>
430 >      <jvmarg value="-Xbootclasspath/p:${product.jar}"/>
431        <jvmarg value="-server"/>
432        <jvmarg value="-showversion"/>
433  
# Line 522 | Line 556
556  
557    <!-- jsr166 4jdk7 -->
558  
525
559    <target name="4jdk7compile"
560            depends="configure-compiler"
561            description="Compiles src/jdk7 sources, targeting jdk7">
# Line 534 | Line 567
567             debug="${build.debug}"
568             debuglevel="${build.debuglevel}"
569             deprecation="${build.deprecation}"
570 <           source="1.6"
570 >           source="6"
571             classpath=""
572             bootclasspath="${bootclasspath6}"
573             includeAntRuntime="false"
# Line 543 | Line 576
576             fork="true">
577  
578        <include name="**/*.java"/>
546      <compilerarg line="${build.args}"/>
579        <compilerarg value="-XDignore.symbol.file=true"/>
580        <compilerarg value="-Xlint:all"/>
581 +      <compilerarg line="${build.args}"/>
582  
583      </javac>
584 +  </target>
585  
552    <mkdir dir="${build.4jdk7.lib.dir}"/>
586  
587 <    <jar destfile="${4jdk7product.jar}" index="true">
587 >  <target name="4jdk7jar"
588 >          depends="4jdk7compile"
589 >          description="Builds library jar from compiled sources">
590 >
591 >    <jar destfile="${4jdk7product.jar}">
592        <fileset dir="${build.4jdk7.classes.dir}"/>
593      </jar>
594  
558    <mkdir dir="${build.4jdk7.tck.classes.dir}"/>
559
560    <javac srcdir="${tck.src.dir}"
561           destdir="${build.4jdk7.tck.classes.dir}"
562           debug="${build.debug}"
563           debuglevel="${build.debuglevel}"
564           deprecation="${build.deprecation}"
565           source="1.6"
566           classpath="${junit.jar}"
567           bootclasspath="${4jdk7product.jar}:${bootclasspath6}"
568           includeAntRuntime="false"
569           includeJavaRuntime="false"
570           executable="${javac7}"
571           fork="true">
572
573      <include name="**/*.java"/>
574      <compilerarg line="${build.args}"/>
575      <compilerarg value="-XDignore.symbol.file=true"/>
576      <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
577
578    </javac>
579
595    </target>
596  
597  
598    <target name="4jdk7-test-tck"
599 <          depends="4jdk7compile"
599 >          depends="4jdk7jar"
600            description="Runs tck tests for jsr166-4jdk7 directly">
601 +
602      <run-tck-tests
603 <      jvm="${java7}"
604 <      tck.classes="${build.4jdk7.tck.classes.dir}"
605 <      product.jar="${4jdk7product.jar}"/>
603 >      target="7"
604 >      workdir="${build.4jdk7.dir}"
605 >      classes="${4jdk7product.jar}"/>
606    </target>
607  
608  
# Line 618 | Line 634
634      </junit>
635    </target>
636  
637 +  <target name="4jdk7-test-jtreg"
638 +          depends="4jdk7compile"
639 +          description="Runs jtreg tests for jsr166-4jdk7 using the jtreg ant task">
640 +    <delete dir="${build.4jdk7.dir}/JTwork"   quiet="true"/>
641 +    <delete dir="${build.4jdk7.dir}/JTreport" quiet="true"/>
642 +    <mkdir dir="${build.4jdk7.dir}/JTwork/scratch"/>
643 +    <mkdir dir="${build.4jdk7.dir}/JTreport"/>
644 +    <jtreg dir="${jtreg.src.dir}"
645 +           jdk="${jdk7.home}"
646 +           workDir="${build.4jdk7.dir}/JTwork"
647 +           reportDir="${build.4jdk7.dir}/JTreport">
648 +
649 +      <arg value="-Xbootclasspath/p:${4jdk7product.jar}"/>
650 +      <arg value="-agentvm"/>
651 +      <arg value="-v:nopass,fail"/>
652 +      <arg value="-vmoptions:-esa -ea"/>
653 +      <arg value="-automatic"/>
654 +      <arg value="-k:!ignore"/>
655 +    </jtreg>
656 +  </target>
657 +
658 +
659 +  <target name="4jdk7-test"
660 +          depends="4jdk7-test-tck, 4jdk7-test-jtreg"
661 +          description="Runs tck and jtreg tests for jsr166-4jdk7">
662 +  </target>
663 +
664  
665    <target name="4jdk7docs"
666            description="Builds javadocs for src/jdk7 to dist dir">
667  
668 <    <delete dir="${dist.4jdk7.docs.dir}"/>
669 <    <mkdir dir="${dist.4jdk7.docs.dir}"/>
668 >    <delete dir="${4jdk7docs.dir}"/>
669 >    <mkdir dir="${4jdk7docs.dir}"/>
670  
671 <    <javadoc destdir="${dist.4jdk7.docs.dir}"
671 >    <javadoc destdir="${4jdk7docs.dir}"
672               packagenames="none"
673               link="${jdkapi7docs.url}"
674               overview="${4jdk7src.dir}/intro.html"
675               sourcepath="${4jdk7src.dir}:${jdk7src.dir}"
676               classpath=""
677               executable="${javadoc7}">
635      <arg value="-XDignore.symbol.file=true"/>
678        <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
679          <include name="**/*.java"/>
680        </fileset>
681 +      <arg value="-XDignore.symbol.file=true"/>
682      </javadoc>
640
683    </target>
684  
685  
686    <target name="4jdk7dist"
687 <          depends="4jdk7dist-clean, 4jdk7dist-jar, 4jdk7docs"
687 >          depends="4jdk7dist-jar, 4jdk7dist-docs"
688            description="Puts all distributable products in single hierarchy"/>
689  
690  
649
691    <target name="4jdk7clean"
692 <          description="Removes all build products">
692 >          description="Removes all 4jdk7 build products">
693  
694      <delete dir="${build.4jdk7.dir}"/>
695  
696    </target>
697  
698  
658
699    <target name="4jdk7dist-clean"
700            description="Removes all build and distribution products">
701  
702    </target>
703  
704    <target name="4jdk7dist-jar"
705 <          depends="4jdk7clean, 4jdk7compile">
666 <
705 >          depends="4jdk7clean, 4jdk7jar">
706      <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
707 +  </target>
708 +
709  
710 +  <target name="4jdk7dist-docs"
711 +          depends="4jdk7clean, 4jdk7docs">
712 +    <mirror-dir src="${4jdk7docs.dir}" dst="${dist.4jdk7docs.dir}"/>
713    </target>
714  
671  <!-- jsr166x -->
715  
716 +  <!-- jsr166x -->
717  
718    <target name="jsr166xcompile"
719            depends="configure-compiler"
720            description="Compiles jsr166x sources to build dir">
721  
722 <    <mkdir dir="${build.jsr166x.dir}"/>
722 >    <mkdir dir="${build.jsr166x.classes.dir}"/>
723  
724      <javac srcdir="${topsrc.dir}"
725 <           destdir="${build.jsr166x.dir}"
725 >           destdir="${build.jsr166x.classes.dir}"
726             debug="${build.debug}"
727             debuglevel="${build.debuglevel}"
728             deprecation="${build.deprecation}"
729             classpath=""
686           source="1.5"
730             bootclasspath="${bootclasspath6}"
731 +           source="5"
732             includeAntRuntime="false"
733             includeJavaRuntime="false"
734             executable="${javac7}"
735             fork="true">
736  
737        <include name="jsr166x/**/*.java"/>
694      <compilerarg line="${build.args}"/>
738        <compilerarg value="-XDignore.symbol.file=true"/>
739        <compilerarg value="-Xlint:all,-unchecked,-rawtypes"/>
740 +      <compilerarg line="${build.args}"/>
741  
742      </javac>
699
743    </target>
744  
745  
703
746    <target name="jsr166xjar"
747            depends="jsr166xcompile"
748            description="Builds library jar from compiled sources">
749  
750 <    <mkdir dir="${build.jsr166xlib.dir}"/>
751 <
710 <    <jar destfile="${jsr166xproduct.jar}">
711 <      <fileset dir="${build.jsr166x.dir}"/>
750 >    <jar destfile="${jsr166x.jar}">
751 >      <fileset dir="${build.jsr166x.classes.dir}"/>
752      </jar>
753  
754    </target>
755  
756  
717
757    <target name="jsr166xdocs"
758            description="Builds javadocs to dist dir">
759  
760 <    <delete dir="${build.jsr166xjavadocs.dir}"/>
761 <    <mkdir dir="${build.jsr166xjavadocs.dir}"/>
760 >    <delete dir="${jsr166xdocs.dir}"/>
761 >    <mkdir dir="${jsr166xdocs.dir}"/>
762  
763 <    <javadoc destdir="${build.jsr166xjavadocs.dir}"
764 <             packagenames="jsr166x"
763 >    <javadoc destdir="${jsr166xdocs.dir}"
764 >             packagenames="jsr166x.*"
765               link="${jdkapidocs.url}"
766 <             source="${build.sourcelevel}"
767 <             sourcepath="${topsrc.dir}:${jdksrc.dir}"
768 <             additionalparam="-XDignore.symbol.file=true" />
766 >             sourcepath="${topsrc.dir}:${jdk6src.dir}"
767 >             bootclasspath="${bootclasspath6}"
768 >             source="5"
769 >             executable="${javadoc7}">
770 >      <arg value="-XDignore.symbol.file=true"/>
771  
772 +    </javadoc>
773    </target>
774  
775  
776    <target name="jsr166xdist"
777 <          depends="jsr166xdist-clean, jsr166xdist-jar, jsr166xdist-docs"
777 >          depends="jsr166xdist-jar, jsr166xdist-docs"
778            description="Puts all distributable products in single hierarchy"/>
779  
780  
739
781    <target name="jsr166xclean"
782 <          description="Removes all build products">
782 >          description="Removes all jsr166x build products">
783  
784      <delete dir="${build.jsr166x.dir}"/>
744    <delete dir="${build.jsr166xlib.dir}"/>
785  
786    </target>
787  
788  
749
789    <target name="jsr166xdist-clean"
790            description="Removes all build and distribution products">
791  
792    </target>
793  
794  
756
757  <target name="jsr166xdist-docs"
758          description="Builds javadocs to dist dir">
759
760    <delete dir="${dist.jsr166xjavadocs.dir}"/>
761    <mkdir dir="${dist.jsr166xjavadocs.dir}"/>
762
763    <javadoc destdir="${dist.jsr166xjavadocs.dir}"
764             packagenames="jsr166x"
765             link="${jdkapidocs.url}"
766             source="${build.sourcelevel}"
767             sourcepath="${topsrc.dir}:${jdksrc.dir}"
768             additionalparam="-XDignore.symbol.file=true" />
769
770  </target>
771
795    <target name="jsr166xdist-jar"
796            depends="jsr166xclean, jsr166xjar">
797 +    <copy file="${jsr166x.jar}" todir="${dist.dir}"/>
798 +  </target>
799  
800 <    <copy file="${jsr166xproduct.jar}" todir="${dist.dir}"/>
801 <
800 >  <target name="jsr166xdist-docs"
801 >          depends="jsr166xclean, jsr166xdocs">
802 >    <mirror-dir src="${jsr166xdocs.dir}" dst="${dist.jsr166xdocs.dir}"/>
803    </target>
804  
805    <!-- jsr166y -->
# Line 783 | Line 809
809            depends="configure-compiler"
810            description="Compiles jsr166y sources">
811  
812 <    <mkdir dir="${build.jsr166y.dir}"/>
812 >    <mkdir dir="${build.jsr166y.classes.dir}"/>
813  
814      <javac srcdir="${topsrc.dir}"
815 <           destdir="${build.jsr166y.dir}"
815 >           destdir="${build.jsr166y.classes.dir}"
816             debug="${build.debug}"
817             debuglevel="${build.debuglevel}"
818             deprecation="${build.deprecation}"
819 <           source="1.6"
819 >           source="6"
820             classpath=""
821             bootclasspath="${bootclasspath6}"
822             includeAntRuntime="false"
# Line 799 | Line 825
825             fork="true">
826  
827        <include name="jsr166y/**/*.java"/>
802      <compilerarg line="${build.args}"/>
828        <compilerarg value="-XDignore.symbol.file=true"/>
829        <compilerarg value="-Xlint:all"/>
830 +      <compilerarg line="${build.args}"/>
831 +
832      </javac>
833    </target>
834  
# Line 810 | Line 837
837            depends="jsr166ycompile"
838            description="Builds library jar from compiled sources">
839  
840 <    <mkdir dir="${build.jsr166ylib.dir}"/>
841 <
815 <    <jar destfile="${jsr166yproduct.jar}" index="true">
816 <      <fileset dir="${build.jsr166y.dir}"/>
840 >    <jar destfile="${jsr166y.jar}" index="true">
841 >      <fileset dir="${build.jsr166y.classes.dir}"/>
842      </jar>
843  
844    </target>
845  
846  
822
847    <target name="jsr166ydocs"
848            description="Builds javadocs to dist dir">
849  
850 <    <delete dir="${build.jsr166yjavadocs.dir}"/>
851 <    <mkdir dir="${build.jsr166yjavadocs.dir}"/>
850 >    <delete dir="${jsr166ydocs.dir}"/>
851 >    <mkdir dir="${jsr166ydocs.dir}"/>
852  
853 <    <javadoc destdir="${build.jsr166yjavadocs.dir}"
854 <             packagenames="jsr166y"
853 >    <javadoc destdir="${jsr166ydocs.dir}"
854 >             packagenames="jsr166y.*"
855               link="${jdkapidocs.url}"
856 <             source="${build.sourcelevel}"
857 <             sourcepath="${topsrc.dir}:${jdksrc.dir}"
858 <             additionalparam="-XDignore.symbol.file=true" />
856 >             sourcepath="${topsrc.dir}:${jdk6src.dir}"
857 >             bootclasspath="${bootclasspath6}"
858 >             source="6"
859 >             executable="${javadoc7}">
860 >      <arg value="-XDignore.symbol.file=true"/>
861  
862 +    </javadoc>
863    </target>
864  
865  
866    <target name="jsr166ydist"
867 <          depends="jsr166ydist-clean, jsr166ydist-jar, jsr166ydist-docs"
867 >          depends="jsr166ydist-jar, jsr166ydist-docs"
868            description="Puts all distributable products in single hierarchy"/>
869  
870  
844
871    <target name="jsr166yclean"
872 <          description="Removes all build products">
872 >          description="Removes all jsr166y build products">
873  
874      <delete dir="${build.jsr166y.dir}"/>
849    <delete dir="${build.jsr166ylib.dir}"/>
875  
876    </target>
877  
878  
854
879    <target name="jsr166ydist-clean"
880            description="Removes all build and distribution products">
881  
882    </target>
883  
860  <target name="jsr166ydist-docs"
861          description="Builds javadocs to dist dir">
862
863    <delete dir="${dist.jsr166yjavadocs.dir}"/>
864    <mkdir dir="${dist.jsr166yjavadocs.dir}"/>
865
866    <javadoc destdir="${dist.jsr166yjavadocs.dir}"
867             packagenames="jsr166y"
868             link="${jdkapidocs.url}"
869             source="${build.sourcelevel}"
870             sourcepath="${topsrc.dir}:${jdksrc.dir}"
871             additionalparam="-XDignore.symbol.file=true" />
872
873  </target>
874
884    <target name="jsr166ydist-jar"
885            depends="jsr166yclean, jsr166yjar">
886 +    <copy file="${jsr166y.jar}" todir="${dist.dir}"/>
887 +  </target>
888  
889 <    <copy file="${jsr166yproduct.jar}" todir="${dist.dir}"/>
890 <
889 >  <target name="jsr166ydist-docs"
890 >          depends="jsr166yclean, jsr166ydocs">
891 >    <mirror-dir src="${jsr166ydocs.dir}" dst="${dist.jsr166ydocs.dir}"/>
892    </target>
893  
894  
# Line 887 | Line 899
899            depends="configure-compiler, jsr166yjar"
900            description="Compiles extra166y sources">
901  
902 <    <mkdir dir="${build.extra166y.dir}"/>
902 >    <mkdir dir="${build.extra166y.classes.dir}"/>
903  
904      <javac srcdir="${topsrc.dir}"
905 <           destdir="${build.extra166y.dir}"
905 >           destdir="${build.extra166y.classes.dir}"
906             debug="${build.debug}"
907             debuglevel="${build.debuglevel}"
908             deprecation="${build.deprecation}"
909 +           bootclasspath="@{jsr166y.jar}:${bootclasspath6}"
910             classpath=""
911 <           source="1.6"
899 <           bootclasspath="${jsr166yproduct.jar}:${bootclasspath6}"
911 >           source="6"
912             includeAntRuntime="false"
913             includeJavaRuntime="false"
914             executable="${javac7}"
915             fork="true">
916  
917        <include name="extra166y/**/*.java"/>
906      <compilerarg line="${build.args}"/>
918        <compilerarg value="-XDignore.symbol.file=true"/>
919        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
920 +      <compilerarg line="${build.args}"/>
921  
922      </javac>
911
923    </target>
924  
925  
915
926    <target name="extra166yjar"
927            depends="extra166ycompile"
928            description="Builds library jar from compiled sources">
929  
930 <    <mkdir dir="${build.extra166ylib.dir}"/>
931 <
922 <    <jar destfile="${extra166yproduct.jar}" index="true">
923 <      <fileset dir="${build.extra166y.dir}"/>
930 >    <jar destfile="${extra166y.jar}" index="true">
931 >      <fileset dir="${build.extra166y.classes.dir}"/>
932      </jar>
933  
934    </target>
935  
936  
929
937    <target name="extra166ydocs"
938 <          description="Builds javadocs with custom tags to build dir">
938 >          description="Builds javadocs to build dir">
939  
940 <    <delete dir="${build.extra166yjavadocs.dir}"/>
941 <    <mkdir dir="${build.extra166yjavadocs.dir}"/>
940 >    <delete dir="${extra166ydocs.dir}"/>
941 >    <mkdir dir="${extra166ydocs.dir}"/>
942  
943 <    <javadoc destdir="${build.extra166yjavadocs.dir}"
944 <             packagenames="extra166y"
943 >    <javadoc destdir="${extra166ydocs.dir}"
944 >             packagenames="extra166y.*"
945               link="${jdkapidocs.url}"
946 <             source="${build.sourcelevel}"
947 <             sourcepath="${topsrc.dir}:${jdksrc.dir}"
948 <             additionalparam="-XDignore.symbol.file=true" />
946 >             sourcepath="${topsrc.dir}:${jdk6src.dir}"
947 >             bootclasspath="${bootclasspath6}"
948 >             source="6"
949 >             executable="${javadoc7}">
950 >      <arg value="-XDignore.symbol.file=true"/>
951  
952 +    </javadoc>
953    </target>
954  
955  
956    <target name="extra166ydist"
957 <          depends="extra166ydist-clean, extra166ydist-jar, extra166ydist-docs"
957 >          depends="extra166ydist-jar, extra166ydist-docs"
958            description="Puts all distributable products in single hierarchy"/>
959  
960  
951
961    <target name="extra166yclean"
962 <          description="Removes all build products">
962 >          description="Removes all extra166y build products">
963  
964      <delete dir="${build.extra166y.dir}"/>
956    <delete dir="${build.extra166ylib.dir}"/>
965  
966    </target>
967  
968  
961
969    <target name="extra166ydist-clean"
970            description="Removes all build and distribution products">
971  
972    </target>
973  
967  <target name="extra166ydist-docs"
968          description="Builds javadocs to dist dir">
969
970    <delete dir="${dist.extra166yjavadocs.dir}"/>
971    <mkdir dir="${dist.extra166yjavadocs.dir}"/>
972
973    <javadoc destdir="${dist.extra166yjavadocs.dir}"
974             packagenames="extra166y"
975             link="${jdkapidocs.url}"
976             source="${build.sourcelevel}"
977             sourcepath="${topsrc.dir}:${jdksrc.dir}"
978             additionalparam="-XDignore.symbol.file=true" />
979
980  </target>
981
974    <target name="extra166ydist-jar"
975            depends="extra166yclean, extra166yjar">
976 +    <copy file="${extra166y.jar}" todir="${dist.dir}"/>
977 +  </target>
978  
979 <    <copy file="${extra166yproduct.jar}" todir="${dist.dir}"/>
980 <
979 >  <target name="extra166ydist-docs"
980 >          depends="extra166yclean, extra166ydocs">
981 >    <mirror-dir src="${extra166ydocs.dir}" dst="${dist.extra166ydocs.dir}"/>
982    </target>
983  
984    <!-- jsr166e -->
# Line 992 | Line 987
987            depends="configure-compiler"
988            description="Compiles jsr166e sources">
989  
990 <    <mkdir dir="${build.jsr166e.dir}"/>
990 >    <mkdir dir="${build.jsr166e.classes.dir}"/>
991  
992      <javac srcdir="${topsrc.dir}"
993 <           destdir="${build.jsr166e.dir}"
993 >           destdir="${build.jsr166e.classes.dir}"
994             debug="${build.debug}"
995             debuglevel="${build.debuglevel}"
996             deprecation="${build.deprecation}"
997 <           source="1.7"
997 >           source="7"
998             classpath=""
999             includeAntRuntime="false"
1000             includeJavaRuntime="false"
# Line 1007 | Line 1002
1002             fork="true">
1003  
1004        <include name="jsr166e/**/*.java"/>
1010      <compilerarg line="${build.args}"/>
1005        <compilerarg value="-XDignore.symbol.file=true"/>
1006        <compilerarg value="-Xlint:all"/>
1007 +      <compilerarg line="${build.args}"/>
1008  
1009      </javac>
1015
1010    </target>
1011  
1012  
1019
1013    <target name="jsr166ejar"
1014            depends="jsr166ecompile"
1015            description="Builds library jar from compiled sources">
1016  
1017 <    <mkdir dir="${build.jsr166elib.dir}"/>
1018 <
1026 <    <jar destfile="${jsr166eproduct.jar}" index="true">
1027 <      <fileset dir="${build.jsr166e.dir}"/>
1017 >    <jar destfile="${jsr166e.jar}" index="true">
1018 >      <fileset dir="${build.jsr166e.classes.dir}"/>
1019      </jar>
1020  
1021    </target>
1022  
1023  
1033
1024    <target name="jsr166edocs"
1025 <          description="Builds javadocs with custom tags to build dir">
1025 >          description="Builds javadocs to build dir">
1026  
1027 <    <delete dir="${build.jsr166ejavadocs.dir}"/>
1028 <    <mkdir dir="${build.jsr166ejavadocs.dir}"/>
1027 >    <delete dir="${jsr166edocs.dir}"/>
1028 >    <mkdir dir="${jsr166edocs.dir}"/>
1029  
1030 <    <javadoc destdir="${build.jsr166ejavadocs.dir}"
1031 <             packagenames="jsr166e,jsr166e.extra"
1032 <             link="${jdkapi7docs.url}"
1043 <             source="1.7"
1030 >    <javadoc destdir="${jsr166edocs.dir}"
1031 >             packagenames="jsr166e.*"
1032 >             link="${jdkapidocs.url}"
1033               sourcepath="${topsrc.dir}:${jdk7src.dir}"
1034 <             executable="${javadoc7}"
1035 <             additionalparam="-XDignore.symbol.file=true" >
1036 <      <fileset dir="${topsrc.dir}" defaultexcludes="yes">
1037 <        <include name="jsr166e/**/*.java"/>
1049 <      </fileset>
1034 >             source="7"
1035 >             executable="${javadoc7}">
1036 >      <arg value="-XDignore.symbol.file=true"/>
1037 >
1038      </javadoc>
1039 +  </target>
1040 +
1041  
1042 +  <target name="jsr166e-test-tck"
1043 +          depends="jsr166ejar"
1044 +          description="Runs tck tests for jsr166e">
1045 +
1046 +    <run-tck-tests
1047 +      tck.src.dir="${test.src.dir}/tck-jsr166e"
1048 +      source="7"
1049 +      target="8"
1050 +      workdir="${build.jsr166e.dir}"
1051 +      classes="${jsr166e.jar}"/>
1052    </target>
1053  
1054  
1055    <target name="jsr166edist"
1056 <          depends="jsr166edist-clean, jsr166edist-jar, jsr166edist-docs"
1056 >          depends="jsr166edist-jar, jsr166edist-docs"
1057            description="Puts all distributable products in single hierarchy"/>
1058  
1059  
1060
1060    <target name="jsr166eclean"
1061 <          description="Removes all build products">
1063 <
1061 >          description="Removes all jsr166e build products">
1062      <delete dir="${build.jsr166e.dir}"/>
1065    <delete dir="${build.jsr166elib.dir}"/>
1066
1063    </target>
1064  
1065  
1070
1066    <target name="jsr166edist-clean"
1067            description="Removes all build and distribution products">
1068  
1069    </target>
1070  
1076  <target name="jsr166edist-docs"
1077          description="Builds javadocs to dist dir">
1078
1079    <delete dir="${dist.jsr166ejavadocs.dir}"/>
1080    <mkdir dir="${dist.jsr166ejavadocs.dir}"/>
1081
1082    <javadoc destdir="${dist.jsr166ejavadocs.dir}"
1083             packagenames="jsr166e,jsr166e.extra"
1084             link="${jdkapidocs.url}"
1085             source="1.7"
1086             sourcepath="${topsrc.dir}:${jdksrc.dir}"
1087             additionalparam="-XDignore.symbol.file=true" />
1088
1089  </target>
1090
1071    <target name="jsr166edist-jar"
1072            depends="jsr166eclean, jsr166ejar">
1073 +    <copy file="${jsr166e.jar}" todir="${dist.dir}"/>
1074 +  </target>
1075  
1076 <    <copy file="${jsr166eproduct.jar}" todir="${dist.dir}"/>
1077 <
1076 >  <target name="jsr166edist-docs"
1077 >          depends="jsr166eclean, jsr166edocs">
1078 >    <mirror-dir src="${jsr166edocs.dir}" dst="${dist.jsr166edocs.dir}"/>
1079    </target>
1080  
1081   </project>

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines