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.93 by jsr166, Mon Jan 14 08:58:47 2013 UTC vs.
Revision 1.99 by jsr166, Sat Jan 19 01:37:44 2013 UTC

# Line 8 | Line 8
8  
9    User-specific settings are read from user.properties.
10    See user.properties.sample for an explanation of some useful settings.
11 +
12 +  The repository contains all dependencies except for ant and the JDK
13 +  itself.  Because the JDK version matters and because different
14 +  targets require different JDKs, we assume that users have created a
15 +  hierarchy containing:
16 +  $HOME/jdk/jdk6
17 +  $HOME/jdk/jdk7
18 +  $HOME/jdk/jdk8
19 +  where each of the above is a JDK or a symlink to same, and
20 +  $HOME/jdk/src/jdk6
21 +  $HOME/jdk/src/jdk7
22 +  $HOME/jdk/src/jdk8
23 +  where each of the above is a complete JDK source tree
24 +  (e.g. mercurial forest) or a symlink to same.
25   ------------------------------------------------------------------------------
26    </description>
27  
# Line 35 | Line 49
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.jdk7.dir"              location="${build.dir}/jdk7"/>
53 <  <property name="build.jdk7.lib.dir"          location="${build.jdk7.dir}"/>
54 <  <property name="build.jdk7.classes.dir"      location="${build.jdk7.dir}/classes"/>
55 <  <property name="build.jdk7.docs.dir"         location="${build.jdk7.dir}/docs"/>
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"/>
57  
58    <property name="build.jsr166x.dir"           location="${build.dir}/jsr166x"/>
59    <property name="build.jsr166xlib.dir"        location="${build.dir}/jsr166xlib"/>
# Line 62 | Line 77
77    <macrodef name="defjdklocations">
78      <attribute name="v"/>
79      <sequential>
80 <    <property name="jdk@{v}.home"  location="${jdks.home}/jdk@{v}"/>
81 <    <property name="javac@{v}"     location="${jdk@{v}.home}/bin/javac"/>
82 <    <property name="javadoc@{v}"   location="${jdk@{v}.home}/bin/javadoc"/>
83 <    <property name="bootdir@{v}"   location="${jdk@{v}.home}/jre/lib"/>
84 <    <property name="bootclasspath@{v}"  
80 >    <property name="jdk@{v}.home"   location="${jdks.home}/jdk@{v}"/>
81 >    <property name="java@{v}"       location="${jdk@{v}.home}/bin/java"/>
82 >    <property name="javac@{v}"      location="${jdk@{v}.home}/bin/javac"/>
83 >    <property name="javadoc@{v}"    location="${jdk@{v}.home}/bin/javadoc"/>
84 >    <property name="bootdir@{v}"    location="${jdk@{v}.home}/jre/lib"/>
85 >    <property name="jdk@{v}src.dir" location="${jdks.home}/src/jdk@{v}/jdk/src/share/classes"/>
86 >    <property name="bootclasspath@{v}"
87       value="${bootdir@{v}}/resources.jar:${bootdir@{v}}/rt.jar:${bootdir@{v}}/jsse.jar:${bootdir@{v}}/jce.jar:${bootdir@{v}}/:${bootdir@{v}}/charsets.jar"/>
88      </sequential>
89    </macrodef>
# Line 75 | Line 92
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=""/>
100 +    <sequential>
101 +    <java classname="JSR166TestCase"
102 +          jvm="@{jvm}" fork="true">
103 +        <jvmarg value="-Xbootclasspath/p:@{product.jar}"/>
104 +        <jvmarg line="@{jvmflags}"/>
105 +        <classpath>
106 +          <pathelement location="${junit.jar}"/>
107 +          <pathelement location="@{tck.classes}"/>
108 +        </classpath>
109 +    </java>
110 +    </sequential>
111 +  </macrodef>
112 +
113    <!-- Source locations -->
114    <property name="src.dir"              location="${basedir}/src/main"/>
115    <property name="test.src.dir"         location="${basedir}/src/test"/>
# Line 84 | Line 119
119    <property name="lib.dir"              location="${basedir}/lib"/>
120    <property name="dist.dir"             location="${basedir}/dist"/>
121    <property name="topsrc.dir"           location="${basedir}/src"/>
122 <  <property name="jdk7src.dir"          location="${topsrc.dir}/jdk7"/>
122 >  <property name="4jdk7src.dir"         location="${topsrc.dir}/jdk7"/>
123    <property name="jsr166xsrc.dir"       location="${topsrc.dir}/jsr166x"/>
124    <property name="jsr166ysrc.dir"       location="${topsrc.dir}/jsr166y"/>
125    <property name="jsr166esrc.dir"       location="${topsrc.dir}/jsr166e"/>
# Line 93 | Line 128
128  
129    <!-- Distribution locations -->
130    <property name="dist.javadocs.dir"           location="${dist.dir}/docs"/>
131 <  <property name="dist.jdk7.docs.dir"          location="${dist.dir}/jsr166-jdk7docs"/>
131 >  <property name="dist.4jdk7.docs.dir"         location="${dist.dir}/jsr166-4jdk7docs"/>
132    <property name="dist.jsr166xjavadocs.dir"    location="${dist.dir}/jsr166xdocs"/>
133    <property name="dist.jsr166yjavadocs.dir"    location="${dist.dir}/jsr166ydocs"/>
134    <property name="dist.jsr166ejavadocs.dir"    location="${dist.dir}/jsr166edocs"/>
# Line 101 | Line 136
136  
137    <!-- Jar locations -->
138    <property name="product.jar"          location="${build.lib.dir}/jsr166.jar"/>
139 <  <property name="jdk7product.jar"      location="${build.jdk7.lib.dir}/jsr166-jdk7.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"/>
# Line 504 | Line 539
539    </target>
540  
541  
542 <  <!-- jdk7 -->
542 >  <!-- jsr166 4jdk7 -->
543  
544  
545 <  <target name="jdk7compile"
545 >  <target name="4jdk7compile"
546            depends="configure-compiler"
547 <          description="Compiles src/jdk7 sources">
547 >          description="Compiles src/jdk7 sources, targeting jdk7">
548  
549 <    <mkdir dir="${build.jdk7.classes.dir}"/>
549 >    <mkdir dir="${build.4jdk7.classes.dir}"/>
550  
551 <    <javac srcdir="${jdk7src.dir}"
552 <           destdir="${build.jdk7.classes.dir}"
551 >    <javac srcdir="${4jdk7src.dir}"
552 >           destdir="${build.4jdk7.classes.dir}"
553             debug="${build.debug}"
554             debuglevel="${build.debuglevel}"
555             deprecation="${build.deprecation}"
# Line 523 | Line 558
558             bootclasspath="${bootclasspath6}"
559             includeAntRuntime="false"
560             includeJavaRuntime="false"
561 <           executable="${javac6}"
561 >           executable="${javac7}"
562             fork="true">
563  
564        <include name="**/*.java"/>
# Line 533 | Line 568
568  
569      </javac>
570  
571 <  </target>
571 >    <mkdir dir="${build.4jdk7.lib.dir}"/>
572  
573 +    <jar destfile="${4jdk7product.jar}" index="true">
574 +      <fileset dir="${build.4jdk7.classes.dir}"/>
575 +    </jar>
576  
577 +    <mkdir dir="${build.4jdk7.tck.classes.dir}"/>
578  
579 <  <target name="jdk7jar"
580 <          depends="jdk7compile"
581 <          description="Builds library jar from compiled sources">
579 >    <javac srcdir="${tck.src.dir}"
580 >           destdir="${build.4jdk7.tck.classes.dir}"
581 >           debug="${build.debug}"
582 >           debuglevel="${build.debuglevel}"
583 >           deprecation="${build.deprecation}"
584 >           source="1.6"
585 >           classpath="${junit.jar}"
586 >           bootclasspath="${4jdk7product.jar}:${bootclasspath6}"
587 >           includeAntRuntime="false"
588 >           includeJavaRuntime="false"
589 >           executable="${javac7}"
590 >           fork="true">
591  
592 <    <mkdir dir="${build.jdk7.lib.dir}"/>
592 >      <include name="**/*.java"/>
593 >      <compilerarg line="${build.args}"/>
594 >      <compilerarg value="-XDignore.symbol.file=true"/>
595 >      <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
596  
597 <    <jar destfile="${jdk7product.jar}" index="true">
547 <      <fileset dir="${build.jdk7.classes.dir}"/>
548 <    </jar>
597 >    </javac>
598  
599    </target>
600  
601  
602 +  <target name="4jdk7-test-tck"
603 +          depends="4jdk7compile"
604 +          description="Runs tck tests for jsr166-4jdk7 directly">
605 +    <run-tck-tests
606 +      jvm="${java7}"
607 +      tck.classes="${build.4jdk7.tck.classes.dir}"
608 +      product.jar="${4jdk7product.jar}"/>
609 +  </target>
610 +
611 +
612 +  <target name="4jdk7-test-tck-junit"
613 +          depends="4jdk7compile"
614 +          description="Runs tck tests for jsr166-4jdk7 via junit task (experimental)">
615 +
616 +    <junit printsummary="true"
617 +           showoutput="true"
618 +           errorProperty="junit.failed"
619 +           failureProperty="junit.failed"
620 +           includeantruntime="true"
621 +           jvm="${java7}"
622 +           fork="true">
623 +
624 +      <jvmarg value="-Xbootclasspath/p:${4jdk7product.jar}"/>
625 +      <jvmarg value="-server"/>
626 +
627 +      <classpath>
628 +        <pathelement location="${junit.jar}"/>
629 +        <pathelement location="${build.4jdk7.tck.classes.dir}"/>
630 +      </classpath>
631 +
632 +      <formatter type="brief"/>
633 +
634 +      <test name="JSR166TestCase" haltonfailure="no">
635 +      </test>
636 +
637 +    </junit>
638 +  </target>
639 +
640  
641 <  <target name="jdk7docs"
641 >  <target name="4jdk7docs"
642            description="Builds javadocs with custom tags to build folder">
643  
644 <    <delete dir="${build.jdk7.docs.dir}"/>
645 <    <mkdir dir="${build.jdk7.docs.dir}"/>
644 >    <delete dir="${build.4jdk7.docs.dir}"/>
645 >    <mkdir dir="${build.4jdk7.docs.dir}"/>
646  
647 <    <javadoc destdir="${build.jdk7.docs.dir}"
647 >    <javadoc destdir="${build.4jdk7.docs.dir}"
648               packagenames="none"
649               link="${jdkapi7docs.url}"
650 <             overview="${jdk7src.dir}/intro.html"
651 <             sourcepath="${jdk7src.dir}"
565 <             bootclasspath="${bootclasspath6}"
650 >             overview="${4jdk7src.dir}/intro.html"
651 >             sourcepath="${4jdk7src.dir}:${jdk7src.dir}"
652               classpath=""
653 <             source="1.6"
654 <             executable="${javadoc7}"
655 <             additionalparam="-XDignore.symbol.file=true" >
570 <      <fileset dir="${jdk7src.dir}" defaultexcludes="yes">
653 >             executable="${javadoc7}">
654 >      <arg value="-XDignore.symbol.file=true"/>
655 >      <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
656          <include name="**/*.java"/>
657        </fileset>
658      </javadoc>
# Line 575 | Line 660
660    </target>
661  
662  
663 <  <target name="jdk7dist"
664 <          depends="jdk7dist-clean, jdk7dist-jar, jdk7dist-docs"
663 >  <target name="4jdk7dist"
664 >          depends="4jdk7dist-clean, 4jdk7dist-jar, 4jdk7dist-docs"
665            description="Puts all distributable products in single hierarchy"/>
666  
667  
668  
669 <  <target name="jdk7clean"
669 >  <target name="4jdk7clean"
670            description="Removes all build products">
671  
672 <    <delete dir="${build.jdk7.dir}"/>
672 >    <delete dir="${build.4jdk7.dir}"/>
673  
674    </target>
675  
676  
677  
678 <  <target name="jdk7dist-clean"
678 >  <target name="4jdk7dist-clean"
679            description="Removes all build and distribution products">
680  
681    </target>
682  
683 <  <target name="jdk7dist-docs"
683 >  <target name="4jdk7dist-docs"
684            description="Builds javadocs without custom tags to dist folder">
685  
686 <    <delete dir="${dist.jdk7.docs.dir}"/>
687 <    <mkdir dir="${dist.jdk7.docs.dir}"/>
686 >    <delete dir="${dist.4jdk7.docs.dir}"/>
687 >    <mkdir dir="${dist.4jdk7.docs.dir}"/>
688  
689 <    <javadoc destdir="${dist.jdk7.docs.dir}"
689 >    <javadoc destdir="${dist.4jdk7.docs.dir}"
690               packagenames="none"
691               link="${jdkapi7docs.url}"
692 <             overview="${jdk7src.dir}/intro.html"
693 <             sourcepath="${jdk7src.dir}"
692 >             overview="${4jdk7src.dir}/intro.html"
693 >             sourcepath="${4jdk7src.dir}:${jdk7src.dir}"
694               classpath=""
695 <             executable="${javadoc7}"
611 <             bootclasspath="${bootclasspath6}"
612 <             source="1.6">
695 >             executable="${javadoc7}">
696        <arg value="-XDignore.symbol.file=true"/>
697 <      <fileset dir="${jdk7src.dir}" defaultexcludes="yes">
697 >      <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
698          <include name="**/*.java"/>
699        </fileset>
700      </javadoc>
701  
702    </target>
703  
704 <  <target name="jdk7dist-jar"
705 <          depends="jdk7clean, jdk7jar">
704 >  <target name="4jdk7dist-jar"
705 >          depends="4jdk7clean, 4jdk7compile">
706  
707 <    <copy file="${jdk7product.jar}" todir="${dist.dir}"/>
707 >    <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
708  
709    </target>
710  
# Line 937 | Line 1020
1020  
1021    <!-- jsr166e -->
1022  
940
1023    <target name="jsr166ecompile"
1024 <          depends="init, configure-compiler"
1024 >          depends="configure-compiler"
1025            description="Compiles jsr166e sources">
1026  
1027      <mkdir dir="${build.jsr166e.dir}"/>
1028  
1029 <    <javac srcdir="${jsr166esrc.dir}"
1030 <          destdir="${build.jsr166e.dir}"
1031 <            debug="${build.debug}"
1032 <       debuglevel="${build.debuglevel}"
1033 <      deprecation="${build.deprecation}"
1029 >    <javac srcdir="${topsrc.dir}"
1030 >           destdir="${build.jsr166e.dir}"
1031 >           debug="${build.debug}"
1032 >           debuglevel="${build.debuglevel}"
1033 >           deprecation="${build.deprecation}"
1034             source="1.7"
1035 <             fork="true">
1035 >           classpath=""
1036 >           includeAntRuntime="false"
1037 >           includeJavaRuntime="false"
1038 >           executable="${javac7}"
1039 >           fork="true">
1040  
1041 <      <include name="**/*.java"/>
1041 >      <include name="jsr166e/**/*.java"/>
1042        <compilerarg line="${build.args}"/>
1043        <compilerarg value="-XDignore.symbol.file=true"/>
1044 <      <compilerarg value="${bootclasspath.args}"/>
959 <
960 < <!--       <compilerarg line="-Xlint -Xmaxwarns 1000"/> -->
1044 >      <compilerarg value="-Xlint:all"/>
1045  
1046      </javac>
1047  
# Line 987 | Line 1071
1071  
1072      <javadoc destdir="${build.jsr166ejavadocs.dir}"
1073               packagenames="jsr166e,jsr166e.extra"
1074 <             link="${jdkapidocs.url}"
1074 >             link="${jdkapi7docs.url}"
1075               source="1.7"
1076 <             sourcepath="${topsrc.dir}:${jdksrc.dir}"
1077 <             additionalparam="-XDignore.symbol.file=true" />
1076 >             sourcepath="${topsrc.dir}:${jdk7src.dir}"
1077 >             executable="${javadoc7}"
1078 >             additionalparam="-XDignore.symbol.file=true" >
1079 >      <fileset dir="${topsrc.dir}" defaultexcludes="yes">
1080 >        <include name="jsr166e/**/*.java"/>
1081 >      </fileset>
1082 >    </javadoc>
1083  
1084    </target>
1085  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines