/[cvs]/jsr166/build.xml
ViewVC logotype

Diff of /jsr166/build.xml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.93 by jsr166, Mon Jan 14 08:58:47 2013 UTC 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.    User-specific settings are read from user.properties.
10    See user.properties.sample for an explanation of some useful settings.    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>    </description>
27    
# Line 35  Line 49 
49    <property name="build.javadocs.dir"          location="${build.dir}/javadocs"/>    <property name="build.javadocs.dir"          location="${build.dir}/javadocs"/>
50    <property name="build.reports.dir"           location="${build.dir}/reports"/>    <property name="build.reports.dir"           location="${build.dir}/reports"/>
51    
52    <property name="build.jdk7.dir"              location="${build.dir}/jdk7"/>    <property name="build.4jdk7.dir"              location="${build.dir}/4jdk7"/>
53    <property name="build.jdk7.lib.dir"          location="${build.jdk7.dir}"/>    <property name="build.4jdk7.lib.dir"          location="${build.4jdk7.dir}"/>
54    <property name="build.jdk7.classes.dir"      location="${build.jdk7.dir}/classes"/>    <property name="build.4jdk7.classes.dir"      location="${build.4jdk7.dir}/classes"/>
55    <property name="build.jdk7.docs.dir"         location="${build.jdk7.dir}/docs"/>    <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"/>    <property name="build.jsr166x.dir"           location="${build.dir}/jsr166x"/>
59    <property name="build.jsr166xlib.dir"        location="${build.dir}/jsr166xlib"/>    <property name="build.jsr166xlib.dir"        location="${build.dir}/jsr166xlib"/>
# Line 62  Line 77 
77    <macrodef name="defjdklocations">    <macrodef name="defjdklocations">
78      <attribute name="v"/>      <attribute name="v"/>
79      <sequential>      <sequential>
80      <property name="jdk@{v}.home"  location="${jdks.home}/jdk@{v}"/>      <property name="jdk@{v}.home"   location="${jdks.home}/jdk@{v}"/>
81      <property name="javac@{v}"     location="${jdk@{v}.home}/bin/javac"/>      <property name="java@{v}"       location="${jdk@{v}.home}/bin/java"/>
82      <property name="javadoc@{v}"   location="${jdk@{v}.home}/bin/javadoc"/>      <property name="javac@{v}"      location="${jdk@{v}.home}/bin/javac"/>
83      <property name="bootdir@{v}"   location="${jdk@{v}.home}/jre/lib"/>      <property name="javadoc@{v}"    location="${jdk@{v}.home}/bin/javadoc"/>
84      <property name="bootclasspath@{v}"        <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"/>       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>      </sequential>
89    </macrodef>    </macrodef>
# Line 75  Line 92 
92    <defjdklocations v="7"/>    <defjdklocations v="7"/>
93    <defjdklocations v="8"/>    <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 -->    <!-- Source locations -->
114    <property name="src.dir"              location="${basedir}/src/main"/>    <property name="src.dir"              location="${basedir}/src/main"/>
115    <property name="test.src.dir"         location="${basedir}/src/test"/>    <property name="test.src.dir"         location="${basedir}/src/test"/>
# Line 84  Line 119 
119    <property name="lib.dir"              location="${basedir}/lib"/>    <property name="lib.dir"              location="${basedir}/lib"/>
120    <property name="dist.dir"             location="${basedir}/dist"/>    <property name="dist.dir"             location="${basedir}/dist"/>
121    <property name="topsrc.dir"           location="${basedir}/src"/>    <property name="topsrc.dir"           location="${basedir}/src"/>
122    <property name="jdk7src.dir"          location="${topsrc.dir}/jdk7"/>    <property name="4jdk7src.dir"         location="${topsrc.dir}/jdk7"/>
123    <property name="jsr166xsrc.dir"       location="${topsrc.dir}/jsr166x"/>    <property name="jsr166xsrc.dir"       location="${topsrc.dir}/jsr166x"/>
124    <property name="jsr166ysrc.dir"       location="${topsrc.dir}/jsr166y"/>    <property name="jsr166ysrc.dir"       location="${topsrc.dir}/jsr166y"/>
125    <property name="jsr166esrc.dir"       location="${topsrc.dir}/jsr166e"/>    <property name="jsr166esrc.dir"       location="${topsrc.dir}/jsr166e"/>
# Line 93  Line 128 
128    
129    <!-- Distribution locations -->    <!-- Distribution locations -->
130    <property name="dist.javadocs.dir"           location="${dist.dir}/docs"/>    <property name="dist.javadocs.dir"           location="${dist.dir}/docs"/>
131    <property name="dist.jdk7.docs.dir"          location="${dist.dir}/jsr166-jdk7docs"/>    <property name="dist.4jdk7.docs.dir"         location="${dist.dir}/jsr166-4jdk7docs"/>
132    <property name="dist.jsr166xjavadocs.dir"    location="${dist.dir}/jsr166xdocs"/>    <property name="dist.jsr166xjavadocs.dir"    location="${dist.dir}/jsr166xdocs"/>
133    <property name="dist.jsr166yjavadocs.dir"    location="${dist.dir}/jsr166ydocs"/>    <property name="dist.jsr166yjavadocs.dir"    location="${dist.dir}/jsr166ydocs"/>
134    <property name="dist.jsr166ejavadocs.dir"    location="${dist.dir}/jsr166edocs"/>    <property name="dist.jsr166ejavadocs.dir"    location="${dist.dir}/jsr166edocs"/>
# Line 101  Line 136 
136    
137    <!-- Jar locations -->    <!-- Jar locations -->
138    <property name="product.jar"          location="${build.lib.dir}/jsr166.jar"/>    <property name="product.jar"          location="${build.lib.dir}/jsr166.jar"/>
139    <property name="jdk7product.jar"      location="${build.jdk7.lib.dir}/jsr166-jdk7.jar"/>    <property name="4jdk7product.jar"     location="${build.4jdk7.lib.dir}/jsr166-4jdk7.jar"/>
140    <property name="jsr166xproduct.jar"   location="${build.jsr166xlib.dir}/jsr166x.jar"/>    <property name="jsr166xproduct.jar"   location="${build.jsr166xlib.dir}/jsr166x.jar"/>
141    <property name="jsr166yproduct.jar"   location="${build.jsr166ylib.dir}/jsr166y.jar"/>    <property name="jsr166yproduct.jar"   location="${build.jsr166ylib.dir}/jsr166y.jar"/>
142    <property name="jsr166eproduct.jar"   location="${build.jsr166elib.dir}/jsr166e.jar"/>    <property name="jsr166eproduct.jar"   location="${build.jsr166elib.dir}/jsr166e.jar"/>
# Line 504  Line 539 
539    </target>    </target>
540    
541    
542    <!-- jdk7 -->    <!-- jsr166 4jdk7 -->
543    
544    
545    <target name="jdk7compile"    <target name="4jdk7compile"
546            depends="configure-compiler"            depends="configure-compiler"
547            description="Compiles src/jdk7 sources">            description="Compiles src/jdk7 sources, targeting jdk7">
548    
549      <mkdir dir="${build.jdk7.classes.dir}"/>      <mkdir dir="${build.4jdk7.classes.dir}"/>
550    
551      <javac srcdir="${jdk7src.dir}"      <javac srcdir="${4jdk7src.dir}"
552             destdir="${build.jdk7.classes.dir}"             destdir="${build.4jdk7.classes.dir}"
553             debug="${build.debug}"             debug="${build.debug}"
554             debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
555             deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
# Line 523  Line 558 
558             bootclasspath="${bootclasspath6}"             bootclasspath="${bootclasspath6}"
559             includeAntRuntime="false"             includeAntRuntime="false"
560             includeJavaRuntime="false"             includeJavaRuntime="false"
561             executable="${javac6}"             executable="${javac7}"
562             fork="true">             fork="true">
563    
564        <include name="**/*.java"/>        <include name="**/*.java"/>
# Line 533  Line 568 
568    
569      </javac>      </javac>
570    
571    </target>      <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"      <javac srcdir="${tck.src.dir}"
580            depends="jdk7compile"             destdir="${build.4jdk7.tck.classes.dir}"
581            description="Builds library jar from compiled sources">             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}"/>        <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">      </javac>
       <fileset dir="${build.jdk7.classes.dir}"/>  
     </jar>  
598    
599    </target>    </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"    <target name="4jdk7docs"
642            description="Builds javadocs with custom tags to build folder">            description="Builds javadocs with custom tags to build folder">
643    
644      <delete dir="${build.jdk7.docs.dir}"/>      <delete dir="${build.4jdk7.docs.dir}"/>
645      <mkdir dir="${build.jdk7.docs.dir}"/>      <mkdir dir="${build.4jdk7.docs.dir}"/>
646    
647      <javadoc destdir="${build.jdk7.docs.dir}"      <javadoc destdir="${build.4jdk7.docs.dir}"
648               packagenames="none"               packagenames="none"
649               link="${jdkapi7docs.url}"               link="${jdkapi7docs.url}"
650               overview="${jdk7src.dir}/intro.html"               overview="${4jdk7src.dir}/intro.html"
651               sourcepath="${jdk7src.dir}"               sourcepath="${4jdk7src.dir}:${jdk7src.dir}"
              bootclasspath="${bootclasspath6}"  
652               classpath=""               classpath=""
653               source="1.6"               executable="${javadoc7}">
654               executable="${javadoc7}"        <arg value="-XDignore.symbol.file=true"/>
655               additionalparam="-XDignore.symbol.file=true" >        <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
       <fileset dir="${jdk7src.dir}" defaultexcludes="yes">  
656          <include name="**/*.java"/>          <include name="**/*.java"/>
657        </fileset>        </fileset>
658      </javadoc>      </javadoc>
# Line 575  Line 660 
660    </target>    </target>
661    
662    
663    <target name="jdk7dist"    <target name="4jdk7dist"
664            depends="jdk7dist-clean, jdk7dist-jar, jdk7dist-docs"            depends="4jdk7dist-clean, 4jdk7dist-jar, 4jdk7dist-docs"
665            description="Puts all distributable products in single hierarchy"/>            description="Puts all distributable products in single hierarchy"/>
666    
667    
668    
669    <target name="jdk7clean"    <target name="4jdk7clean"
670            description="Removes all build products">            description="Removes all build products">
671    
672      <delete dir="${build.jdk7.dir}"/>      <delete dir="${build.4jdk7.dir}"/>
673    
674    </target>    </target>
675    
676    
677    
678    <target name="jdk7dist-clean"    <target name="4jdk7dist-clean"
679            description="Removes all build and distribution products">            description="Removes all build and distribution products">
680    
681    </target>    </target>
682    
683    <target name="jdk7dist-docs"    <target name="4jdk7dist-docs"
684            description="Builds javadocs without custom tags to dist folder">            description="Builds javadocs without custom tags to dist folder">
685    
686      <delete dir="${dist.jdk7.docs.dir}"/>      <delete dir="${dist.4jdk7.docs.dir}"/>
687      <mkdir dir="${dist.jdk7.docs.dir}"/>      <mkdir dir="${dist.4jdk7.docs.dir}"/>
688    
689      <javadoc destdir="${dist.jdk7.docs.dir}"      <javadoc destdir="${dist.4jdk7.docs.dir}"
690               packagenames="none"               packagenames="none"
691               link="${jdkapi7docs.url}"               link="${jdkapi7docs.url}"
692               overview="${jdk7src.dir}/intro.html"               overview="${4jdk7src.dir}/intro.html"
693               sourcepath="${jdk7src.dir}"               sourcepath="${4jdk7src.dir}:${jdk7src.dir}"
694               classpath=""               classpath=""
695               executable="${javadoc7}"               executable="${javadoc7}">
              bootclasspath="${bootclasspath6}"  
              source="1.6">  
696        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
697        <fileset dir="${jdk7src.dir}" defaultexcludes="yes">        <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
698          <include name="**/*.java"/>          <include name="**/*.java"/>
699        </fileset>        </fileset>
700      </javadoc>      </javadoc>
701    
702    </target>    </target>
703    
704    <target name="jdk7dist-jar"    <target name="4jdk7dist-jar"
705            depends="jdk7clean, jdk7jar">            depends="4jdk7clean, 4jdk7compile">
706    
707      <copy file="${jdk7product.jar}" todir="${dist.dir}"/>      <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
708    
709    </target>    </target>
710    
# Line 937  Line 1020 
1020    
1021    <!-- jsr166e -->    <!-- jsr166e -->
1022    
   
1023    <target name="jsr166ecompile"    <target name="jsr166ecompile"
1024            depends="init, configure-compiler"            depends="configure-compiler"
1025            description="Compiles jsr166e sources">            description="Compiles jsr166e sources">
1026    
1027      <mkdir dir="${build.jsr166e.dir}"/>      <mkdir dir="${build.jsr166e.dir}"/>
1028    
1029      <javac srcdir="${jsr166esrc.dir}"      <javac srcdir="${topsrc.dir}"
1030            destdir="${build.jsr166e.dir}"             destdir="${build.jsr166e.dir}"
1031              debug="${build.debug}"             debug="${build.debug}"
1032         debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
1033        deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
1034             source="1.7"             source="1.7"
1035               fork="true">             classpath=""
1036               includeAntRuntime="false"
1037               includeJavaRuntime="false"
1038               executable="${javac7}"
1039               fork="true">
1040    
1041        <include name="**/*.java"/>        <include name="jsr166e/**/*.java"/>
1042        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
1043        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
1044        <compilerarg value="${bootclasspath.args}"/>        <compilerarg value="-Xlint:all"/>
   
 <!--       <compilerarg line="-Xlint -Xmaxwarns 1000"/> -->  
1045    
1046      </javac>      </javac>
1047    
# Line 987  Line 1071 
1071    
1072      <javadoc destdir="${build.jsr166ejavadocs.dir}"      <javadoc destdir="${build.jsr166ejavadocs.dir}"
1073               packagenames="jsr166e,jsr166e.extra"               packagenames="jsr166e,jsr166e.extra"
1074               link="${jdkapidocs.url}"               link="${jdkapi7docs.url}"
1075               source="1.7"               source="1.7"
1076               sourcepath="${topsrc.dir}:${jdksrc.dir}"               sourcepath="${topsrc.dir}:${jdk7src.dir}"
1077               additionalparam="-XDignore.symbol.file=true" />               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>    </target>
1085    

Legend:
Removed from v.1.93  
changed lines
  Added in v.1.99

dl@cs.oswego.edu
ViewVC Help
Powered by ViewVC 1.1.27