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.117 by jsr166, Sun Jan 20 07:43:30 2013 UTC vs.
Revision 1.118 by jsr166, Mon Jan 21 01:05:01 2013 UTC

# Line 62 | Line 62
62    <property name="build.jsr166e.classes.dir"    location="${build.jsr166e.dir}/classes"/>
63    <property name="build.extra166y.classes.dir"  location="${build.extra166y.dir}/classes"/>
64  
65 <  <!-- JDK binary locations -->
65 >  <!-- JDK locations -->
66    <property name="jdks.home"  location="${user.home}/jdk"/>
67  
68    <macrodef name="defjdklocations">
# Line 72 | Line 72
72      <property name="java@{v}"       location="${jdk@{v}.home}/bin/java"/>
73      <property name="javac@{v}"      location="${jdk@{v}.home}/bin/javac"/>
74      <property name="javadoc@{v}"    location="${jdk@{v}.home}/bin/javadoc"/>
75    <property name="bootdir@{v}"    location="${jdk@{v}.home}/jre/lib"/>
75      <property name="jdk@{v}src.dir" location="${jdks.home}/src/jdk@{v}/jdk/src/share/classes"/>
76 <    <property name="bootclasspath@{v}"
77 <     value="${bootdir@{v}}/resources.jar:${bootdir@{v}}/rt.jar:${bootdir@{v}}/jsse.jar:${bootdir@{v}}/jce.jar:${bootdir@{v}}/:${bootdir@{v}}/charsets.jar"/>
76 >    <local name="boot.jar.dir"/>
77 >    <property name="boot.jar.dir"   location="${jdk@{v}.home}/jre/lib"/>
78 >    <path id="bootclasspath@{v}">
79 >      <pathelement path="${boot.jar.dir}/resources.jar"/>
80 >      <pathelement path="${boot.jar.dir}/rt.jar"/>
81 >      <pathelement path="${boot.jar.dir}/jsse.jar"/>
82 >      <pathelement path="${boot.jar.dir}/jce.jar"/>
83 >      <pathelement path="${boot.jar.dir}/charsets.jar"/>
84 >    </path>
85 >    <property name="bootclasspath@{v}" value="${toString:bootclasspath@{v}}"/>
86      </sequential>
87    </macrodef>
88  
# Line 83 | Line 90
90    <defjdklocations v="7"/>
91    <defjdklocations v="8"/>
92  
86  <macrodef name="run-tck-tests">
87    <attribute name="target"/>
88    <attribute name="workdir"/>
89    <attribute name="product.jar" default="${product.jar}"/>
90    <attribute name="jvmflags" default=""/>
91    <sequential>
92
93    <mkdir dir="@{workdir}/tck-classes"/>
94
95    <javac srcdir="${tck.src.dir}"
96           destdir="@{workdir}/tck-classes"
97           debug="${build.debug}"
98           debuglevel="${build.debuglevel}"
99           deprecation="${build.deprecation}"
100           source="6"
101           classpath="${junit.jar}"
102           bootclasspath="@{product.jar}:${bootclasspath6}"
103           includeAntRuntime="false"
104           includeJavaRuntime="false"
105           executable="${javac@{target}}"
106           fork="true">
107
108      <include name="**/*.java"/>
109      <compilerarg value="-XDignore.symbol.file=true"/>
110      <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
111      <compilerarg line="${build.args}"/>
112    </javac>
113
114    <java classname="JSR166TestCase"
115          failonerror="true"
116          jvm="${java@{target}}"
117          fork="true">
118        <jvmarg value="-Xbootclasspath/p:@{product.jar}"/>
119        <jvmarg line="@{jvmflags}"/>
120        <classpath>
121          <pathelement location="${junit.jar}"/>
122          <pathelement location="@{workdir}/tck-classes"/>
123        </classpath>
124    </java>
125
126    </sequential>
127  </macrodef>
128
93    <!-- Source locations -->
94    <property name="src.dir"              location="${basedir}/src/main"/>
95    <property name="test.src.dir"         location="${basedir}/src/test"/>
# Line 158 | Line 122
122    <property name="extra166y.jar"    location="${build.extra166y.dir}/extra166y.jar"/>
123    <property name="junit.jar"        location="${lib.dir}/junit.jar"/>
124  
161  <!-- Bootclasspath argument -->
162  <property name="bootclasspath.args"   value="-Xbootclasspath/p:${product.jar}"/>
163
125    <!-- Canonical location of jdk API docs, to use with javadoc link attribute -->
126    <property name="jdkapi5docs.url"      value="http://docs.oracle.com/javase/1.5.0/docs/api/"/>
127    <property name="jdkapi6docs.url"      value="http://docs.oracle.com/javase/6/docs/api/"/>
# Line 184 | Line 145
145      <pathelement location="${junit.jar}"/>
146    </path>
147  
148 +  <macrodef name="run-tck-tests">
149 +    <attribute name="target"/>
150 +    <attribute name="workdir"/>
151 +    <attribute name="product.jar" default="${product.jar}"/>
152 +    <attribute name="jvmflags" default=""/>
153 +    <sequential>
154 +
155 +    <mkdir dir="@{workdir}/tck-classes"/>
156 +
157 +    <javac srcdir="${tck.src.dir}"
158 +           destdir="@{workdir}/tck-classes"
159 +           debug="${build.debug}"
160 +           debuglevel="${build.debuglevel}"
161 +           deprecation="${build.deprecation}"
162 +           source="6"
163 +           classpath="${junit.jar}"
164 +           includeAntRuntime="false"
165 +           includeJavaRuntime="false"
166 +           executable="${javac@{target}}"
167 +           fork="true">
168 +
169 +      <include name="**/*.java"/>
170 +      <bootclasspath path="@{product.jar}"/>
171 +      <bootclasspath path="${bootclasspath6}"/>
172 +      <compilerarg value="-XDignore.symbol.file=true"/>
173 +      <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
174 +      <compilerarg line="${build.args}"/>
175 +
176 +    </javac>
177 +
178 +    <java classname="JSR166TestCase"
179 +          failonerror="true"
180 +          jvm="${java@{target}}"
181 +          fork="true">
182 +        <jvmarg value="-Xbootclasspath/p:@{product.jar}"/>
183 +        <jvmarg line="@{jvmflags}"/>
184 +        <classpath>
185 +          <pathelement location="${junit.jar}"/>
186 +          <pathelement location="@{workdir}/tck-classes"/>
187 +        </classpath>
188 +    </java>
189 +
190 +    </sequential>
191 +  </macrodef>
192 +
193    <!-- ALoops classpath -->
194    <path id="loops.classpath">
195      <pathelement location="${build.loops.dir}"/>
# Line 220 | Line 226
226             fork="true">
227  
228        <include name="**/*.java"/>
223      <compilerarg line="${build.args}"/>
229        <compilerarg value="-XDignore.symbol.file=true"/>
230        <compilerarg value="-Xlint:all"/>
226
227 <!--
228      <exclude name="java/lang/**"/>
231        <compilerarg line="${build.args}"/>
230      <compilerarg line="-Xlint -Xmaxwarns 1000"/>
231 -->
232  
233      </javac>
234
234    </target>
235  
236  
238
237    <target name="jar"
238            depends="compile"
239            description="Builds library jar from compiled sources">
# Line 243 | Line 241
241      <jar destfile="${product.jar}">
242        <fileset dir="${build.classes.dir}"/>
243      </jar>
246
244    </target>
245  
246  
250
247    <target name="test"
248            depends="configure-tests, report-tests"
249            description="Runs all tests (requires JUnit 3.8.1 in ${ant.home}/lib)" />
250  
251  
256
252    <target name="docs"
253            description="Builds javadocs for src/main to dist dir">
254  
# Line 267 | Line 262
262               packagenames="none"
263               link="${jdkapi8docs.url}"
264               overview="${src.dir}/intro.html"
270             sourcepath="${src.dir}:${jdk8src.dir}"
265               classpath=""
266               executable="${javadoc8}">
267 +      <sourcepath path="${src.dir}"/>
268 +      <sourcepath path="${jdk8src.dir}"/>
269        <arg value="-XDignore.symbol.file=true"/>
270        <arg value="-tag"/>
271        <arg value="${javadoc.jls.option}"/>
# Line 277 | Line 273
273          <include name="**/*.java"/>
274        </fileset>
275      </javadoc>
280
276    </target>
277  
278  
284
279    <target name="dist"
280            depends="dist-clean, dist-jar, docs"
281            description="Puts all distributable products in single hierarchy"/>
# Line 302 | Line 296
296        <exclude name="**/SyntaxTest.java"/>
297        <exclude name="**/SuperfluousAbstract.java"/>
298      </jar>
305
299    </target>
300  
301  
309
302    <target name="clean"
303            description="Removes all build products">
304  
# Line 315 | Line 307
307    </target>
308  
309  
318
310    <target name="dist-clean"
311            description="Removes all build and distribution products">
312  
# Line 324 | Line 315
315    </target>
316  
317  
327
318    <!-- Internal targets -->
319  
320  
# Line 348 | Line 338
338             deprecation="${build.deprecation}"
339             source="6"
340             classpath="${junit.jar}"
351           bootclasspath="${product.jar}:${bootclasspath6}"
341             includeAntRuntime="false"
342             includeJavaRuntime="false"
343             executable="${javac8}"
344             fork="true">
345  
346        <include name="**/*.java"/>
347 <      <compilerarg line="${build.args}"/>
347 >      <bootclasspath path="@{product.jar}"/>
348 >      <bootclasspath path="${bootclasspath6}"/>
349        <compilerarg value="-XDignore.symbol.file=true"/>
350        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
351 +      <compilerarg line="${build.args}"/>
352  
353      </javac>
354  
# Line 368 | Line 359
359             deprecation="${build.deprecation}"
360             source="6"
361             classpath=""
371           bootclasspath="${product.jar}:${bootclasspath6}"
362             includeAntRuntime="false"
363             includeJavaRuntime="false"
364             executable="${javac8}"
365             fork="true">
366  
367        <include name="jsr166/test/**/*.java"/>
368 <
369 <      <compilerarg line="${build.args}"/>
368 >      <bootclasspath path="${product.jar}"/>
369 >      <bootclasspath path="${bootclasspath6}"/>
370        <compilerarg value="-XDignore.symbol.file=true"/>
371        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
372 +      <compilerarg line="${build.args}"/>
373  
374      </javac>
375  
# Line 391 | Line 382
382             source="${build.sourcelevel}"
383               fork="true">
384  
385 <      <compilerarg value="${bootclasspath.args}"/>
395 <      <compilerarg line="${build.args}"/>
385 >      <compilerarg value="-Xbootclasspath/p:${product.jar}"/>
386        <compilerarg value="-XDignore.symbol.file=true"/>
387 +      <compilerarg line="${build.args}"/>
388  
389      </javac>
390   -->
# Line 546 | Line 537
537  
538    <!-- jsr166 4jdk7 -->
539  
549
540    <target name="4jdk7compile"
541            depends="configure-compiler"
542            description="Compiles src/jdk7 sources, targeting jdk7">
# Line 560 | Line 550
550             deprecation="${build.deprecation}"
551             source="6"
552             classpath=""
563           bootclasspath="${bootclasspath6}"
553             includeAntRuntime="false"
554             includeJavaRuntime="false"
555             executable="${javac7}"
556             fork="true">
557  
558        <include name="**/*.java"/>
559 <      <compilerarg line="${build.args}"/>
559 >      <bootclasspath path="${bootclasspath6}"/>
560        <compilerarg value="-XDignore.symbol.file=true"/>
561        <compilerarg value="-Xlint:all"/>
562 +      <compilerarg line="${build.args}"/>
563  
564      </javac>
575
565    </target>
566  
567 +
568    <target name="4jdk7-jar"
569            depends="4jdk7compile"
570            description="Builds library jar from compiled sources">
# Line 663 | Line 653
653               packagenames="none"
654               link="${jdkapi7docs.url}"
655               overview="${4jdk7src.dir}/intro.html"
666             sourcepath="${4jdk7src.dir}:${jdk7src.dir}"
656               classpath=""
657               executable="${javadoc7}">
658 +      <sourcepath path="${4jdk7src.dir}"/>
659 +      <sourcepath path="${jdk7src.dir}"/>
660        <arg value="-XDignore.symbol.file=true"/>
661        <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
662          <include name="**/*.java"/>
663        </fileset>
664      </javadoc>
674
665    </target>
666  
667  
# Line 680 | Line 670
670            description="Puts all distributable products in single hierarchy"/>
671  
672  
683
673    <target name="4jdk7clean"
674            description="Removes all 4jdk7 build products">
675  
# Line 689 | Line 678
678    </target>
679  
680  
692
681    <target name="4jdk7dist-clean"
682            description="Removes all build and distribution products">
683  
684    </target>
685  
686    <target name="4jdk7dist-jar"
687 <          depends="4jdk7clean, 4jdk7compile">
687 >          depends="4jdk7clean, 4jdk7-jar">
688  
689      <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
690  
# Line 718 | Line 706
706             deprecation="${build.deprecation}"
707             classpath=""
708             source="5"
721           bootclasspath="${bootclasspath6}"
709             includeAntRuntime="false"
710             includeJavaRuntime="false"
711             executable="${javac7}"
712             fork="true">
713  
714        <include name="jsr166x/**/*.java"/>
715 <      <compilerarg line="${build.args}"/>
715 >      <bootclasspath path="${bootclasspath6}"/>
716        <compilerarg value="-XDignore.symbol.file=true"/>
717        <compilerarg value="-Xlint:all,-unchecked,-rawtypes"/>
718 +      <compilerarg line="${build.args}"/>
719  
720      </javac>
733
721    </target>
722  
723  
724 <
738 <  <target name="jsr166xjar"
724 >  <target name="jsr166x-jar"
725            depends="jsr166xcompile"
726            description="Builds library jar from compiled sources">
727  
# Line 746 | Line 732
732    </target>
733  
734  
749
735    <target name="jsr166xdocs"
736            description="Builds javadocs to dist dir">
737  
# Line 757 | Line 742
742               packagenames="jsr166x.*"
743               link="${jdkapidocs.url}"
744               source="5"
745 <             bootclasspath="${bootclasspath6}"
746 <             sourcepath="${topsrc.dir}:${jdk6src.dir}"
747 <             executable="${javadoc7}"
748 <             additionalparam="-XDignore.symbol.file=true"/>
745 >             executable="${javadoc7}">
746 >      <sourcepath path="${topsrc.dir}"/>
747 >      <sourcepath path="${jdk6src.dir}"/>
748 >      <bootclasspath path="${bootclasspath6}"/>
749 >      <arg value="-XDignore.symbol.file=true"/>
750  
751 +    </javadoc>
752    </target>
753  
754  
# Line 770 | Line 757
757            description="Puts all distributable products in single hierarchy"/>
758  
759  
773
760    <target name="jsr166xclean"
761            description="Removes all jsr166x build products">
762  
# Line 779 | Line 765
765    </target>
766  
767  
782
768    <target name="jsr166xdist-clean"
769            description="Removes all build and distribution products">
770  
# Line 787 | Line 772
772  
773  
774    <target name="jsr166xdist-jar"
775 <          depends="jsr166xclean, jsr166xjar">
775 >          depends="jsr166xclean, jsr166x-jar">
776  
777      <copy file="${jsr166x.jar}" todir="${dist.dir}"/>
778  
# Line 809 | Line 794
794             deprecation="${build.deprecation}"
795             source="6"
796             classpath=""
812           bootclasspath="${bootclasspath6}"
797             includeAntRuntime="false"
798             includeJavaRuntime="false"
799             executable="${javac7}"
800             fork="true">
801  
802        <include name="jsr166y/**/*.java"/>
803 <      <compilerarg line="${build.args}"/>
803 >      <bootclasspath path="${bootclasspath6}"/>
804        <compilerarg value="-XDignore.symbol.file=true"/>
805        <compilerarg value="-Xlint:all"/>
806 +      <compilerarg line="${build.args}"/>
807 +
808      </javac>
809    </target>
810  
811  
812 <  <target name="jsr166yjar"
812 >  <target name="jsr166y-jar"
813            depends="jsr166ycompile"
814            description="Builds library jar from compiled sources">
815  
# Line 834 | Line 820
820    </target>
821  
822  
837
823    <target name="jsr166ydocs"
824            description="Builds javadocs to dist dir">
825  
# Line 845 | Line 830
830               packagenames="jsr166y.*"
831               link="${jdkapidocs.url}"
832               source="6"
833 <             bootclasspath="${bootclasspath6}"
834 <             sourcepath="${topsrc.dir}:${jdk6src.dir}"
835 <             executable="${javadoc7}"
836 <             additionalparam="-XDignore.symbol.file=true"/>
833 >             executable="${javadoc7}">
834 >      <sourcepath path="${topsrc.dir}"/>
835 >      <sourcepath path="${jdk6src.dir}"/>
836 >      <bootclasspath path="${bootclasspath6}"/>
837 >      <arg value="-XDignore.symbol.file=true"/>
838  
839 +    </javadoc>
840    </target>
841  
842  
# Line 858 | Line 845
845            description="Puts all distributable products in single hierarchy"/>
846  
847  
861
848    <target name="jsr166yclean"
849            description="Removes all jsr166y build products">
850  
# Line 867 | Line 853
853    </target>
854  
855  
870
856    <target name="jsr166ydist-clean"
857            description="Removes all build and distribution products">
858  
859    </target>
860  
861    <target name="jsr166ydist-jar"
862 <          depends="jsr166yclean, jsr166yjar">
862 >          depends="jsr166yclean, jsr166y-jar">
863  
864      <copy file="${jsr166y.jar}" todir="${dist.dir}"/>
865  
# Line 885 | Line 870
870  
871  
872    <target name="extra166ycompile"
873 <          depends="configure-compiler, jsr166yjar"
873 >          depends="configure-compiler, jsr166y-jar"
874            description="Compiles extra166y sources">
875  
876      <mkdir dir="${build.extra166y.classes.dir}"/>
# Line 897 | Line 882
882             deprecation="${build.deprecation}"
883             classpath=""
884             source="6"
900           bootclasspath="${jsr166y.jar}:${bootclasspath6}"
885             includeAntRuntime="false"
886             includeJavaRuntime="false"
887             executable="${javac7}"
888             fork="true">
889  
890        <include name="extra166y/**/*.java"/>
891 <      <compilerarg line="${build.args}"/>
891 >      <bootclasspath path="${jsr166y.jar}"/>
892 >      <bootclasspath path="${bootclasspath6}"/>
893        <compilerarg value="-XDignore.symbol.file=true"/>
894        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
895 +      <compilerarg line="${build.args}"/>
896  
897      </javac>
912
898    </target>
899  
900  
901 <
917 <  <target name="extra166yjar"
901 >  <target name="extra166y-jar"
902            depends="extra166ycompile"
903            description="Builds library jar from compiled sources">
904  
# Line 925 | Line 909
909    </target>
910  
911  
928
912    <target name="extra166ydocs"
913            description="Builds javadocs to build dir">
914  
# Line 936 | Line 919
919               packagenames="extra166y.*"
920               link="${jdkapidocs.url}"
921               source="6"
922 <             bootclasspath="${bootclasspath6}"
923 <             sourcepath="${topsrc.dir}:${jdk6src.dir}"
924 <             executable="${javadoc7}"
925 <             additionalparam="-XDignore.symbol.file=true"/>
922 >             executable="${javadoc7}">
923 >      <sourcepath path="${topsrc.dir}"/>
924 >      <sourcepath path="${jdk6src.dir}"/>
925 >      <bootclasspath path="${bootclasspath6}"/>
926 >      <arg value="-XDignore.symbol.file=true"/>
927  
928 +    </javadoc>
929    </target>
930  
931  
# Line 949 | Line 934
934            description="Puts all distributable products in single hierarchy"/>
935  
936  
952
937    <target name="extra166yclean"
938            description="Removes all extra166y build products">
939  
# Line 958 | Line 942
942    </target>
943  
944  
961
945    <target name="extra166ydist-clean"
946            description="Removes all build and distribution products">
947  
948    </target>
949  
950    <target name="extra166ydist-jar"
951 <          depends="extra166yclean, extra166yjar">
951 >          depends="extra166yclean, extra166y-jar">
952  
953      <copy file="${extra166y.jar}" todir="${dist.dir}"/>
954  
# Line 992 | Line 975
975             fork="true">
976  
977        <include name="jsr166e/**/*.java"/>
995      <compilerarg line="${build.args}"/>
978        <compilerarg value="-XDignore.symbol.file=true"/>
979        <compilerarg value="-Xlint:all"/>
980 +      <compilerarg line="${build.args}"/>
981  
982      </javac>
1000
983    </target>
984  
985  
986 <
1005 <  <target name="jsr166ejar"
986 >  <target name="jsr166e-jar"
987            depends="jsr166ecompile"
988            description="Builds library jar from compiled sources">
989  
# Line 1013 | Line 994
994    </target>
995  
996  
1016
997    <target name="jsr166edocs"
998            description="Builds javadocs to build dir">
999  
# Line 1024 | Line 1004
1004               packagenames="jsr166e.*"
1005               link="${jdkapidocs.url}"
1006               source="7"
1007 <             sourcepath="${topsrc.dir}:${jdk7src.dir}"
1008 <             executable="${javadoc7}"
1009 <             additionalparam="-XDignore.symbol.file=true" >
1010 <    </javadoc>
1007 >             executable="${javadoc7}">
1008 >      <sourcepath path="${topsrc.dir}"/>
1009 >      <sourcepath path="${jdk7src.dir}"/>
1010 >      <arg value="-XDignore.symbol.file=true"/>
1011  
1012 +    </javadoc>
1013    </target>
1014  
1015  
# Line 1037 | Line 1018
1018            description="Puts all distributable products in single hierarchy"/>
1019  
1020  
1040
1021    <target name="jsr166eclean"
1022            description="Removes all jsr166e build products">
1023  
# Line 1052 | Line 1032
1032    </target>
1033  
1034    <target name="jsr166edist-jar"
1035 <          depends="jsr166eclean, jsr166ejar">
1035 >          depends="jsr166eclean, jsr166e-jar">
1036  
1037      <copy file="${jsr166e.jar}" todir="${dist.dir}"/>
1038  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines