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

View of /jsr166/build.xml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.123 - (download) (as text) (annotate)
Tue Jan 22 20:22:00 2013 UTC (4 years, 10 months ago) by jsr166
Branch: MAIN
Changes since 1.122: +1 -1 lines
adjust date
<project name="jsr166" default="usage">

  <description>
------------------------------------------------------------------------------
  Build file for JSR-166

  Usage: ant [target]

  User-specific settings are read from user.properties.
  See user.properties.sample for an explanation of some useful settings.

  The repository contains all dependencies except for ant and the JDK
  itself.  Because the JDK version matters and because different
  targets require different JDKs, we assume that users have created a
  hierarchy containing:
  $HOME/jdk/jdk6
  $HOME/jdk/jdk7
  $HOME/jdk/jdk8
  where each of the above is a JDK or a symlink to same, and
  $HOME/jdk/src/jdk6
  $HOME/jdk/src/jdk7
  $HOME/jdk/src/jdk8
  where each of the above is a complete JDK source tree
  (e.g. mercurial forest) or a symlink to same.
------------------------------------------------------------------------------
  </description>

  <target name="usage" description="Advises user to run with -projecthelp">
    <echo>Run "ant -projecthelp" for full usage information.</echo>
  </target>


  <!-- User-specific settings -->
  <property file="user.properties"/>


  <!-- Compilation options -->
  <property name="build.sourcelevel"    value="6"/>
  <property name="build.debug"          value="true"/>
  <property name="build.debuglevel"     value="source,lines,vars"/>
  <property name="build.deprecation"    value="false"/>

  <!-- Build locations -->
  <property name="build.dir"                   location="build"/>
  <property name="build.classes.dir"           location="${build.dir}/classes"/>
  <property name="build.testcases.dir"         location="${build.dir}/testcases"/>
  <property name="build.loops.dir"             location="${build.dir}/loops"/>
  <property name="build.reports.dir"           location="${build.dir}/reports"/>

  <property name="build.4jdk7.dir"             location="${build.dir}/jsr166-4jdk7"/>
  <property name="build.4jdk7.classes.dir"     location="${build.4jdk7.dir}/classes"/>
  <property name="build.4jdk7.tck.classes.dir" location="${build.4jdk7.dir}/tck-classes"/>
  <property name="build.4jdk7.docs.dir"        location="${build.4jdk7.dir}/docs"/>

  <property name="build.jsr166x.dir"           location="${build.dir}/jsr166x"/>
  <property name="build.jsr166y.dir"           location="${build.dir}/jsr166y"/>
  <property name="build.jsr166e.dir"           location="${build.dir}/jsr166e"/>
  <property name="build.extra166y.dir"         location="${build.dir}/extra166y"/>

  <property name="build.jsr166x.classes.dir"    location="${build.jsr166x.dir}/classes"/>
  <property name="build.jsr166y.classes.dir"    location="${build.jsr166y.dir}/classes"/>
  <property name="build.jsr166e.classes.dir"    location="${build.jsr166e.dir}/classes"/>
  <property name="build.extra166y.classes.dir"  location="${build.extra166y.dir}/classes"/>

  <!-- JDK locations -->
  <property name="jdks.home"  location="${user.home}/jdk"/>

  <macrodef name="defjdklocations">
    <attribute name="v"/>
    <sequential>
    <property name="jdk@{v}.home"   location="${jdks.home}/jdk@{v}"/>
    <property name="java@{v}"       location="${jdk@{v}.home}/bin/java"/>
    <property name="javac@{v}"      location="${jdk@{v}.home}/bin/javac"/>
    <property name="javadoc@{v}"    location="${jdk@{v}.home}/bin/javadoc"/>
    <property name="jdk@{v}src.dir" location="${jdks.home}/src/jdk@{v}/jdk/src/share/classes"/>
    <local name="boot.jar.dir"/>
    <property name="boot.jar.dir"   location="${jdk@{v}.home}/jre/lib"/>
    <path id="bootclasspath@{v}">
      <pathelement path="${boot.jar.dir}/resources.jar"/>
      <pathelement path="${boot.jar.dir}/rt.jar"/>
      <pathelement path="${boot.jar.dir}/jsse.jar"/>
      <pathelement path="${boot.jar.dir}/jce.jar"/>
      <pathelement path="${boot.jar.dir}/charsets.jar"/>
    </path>
    <property name="bootclasspath@{v}" value="${toString:bootclasspath@{v}}"/>
    </sequential>
  </macrodef>

  <defjdklocations v="6"/>
  <defjdklocations v="7"/>
  <defjdklocations v="8"/>

  <!-- Source locations -->
  <property name="src.dir"              location="${basedir}/src/main"/>
  <property name="test.src.dir"         location="${basedir}/src/test"/>
  <property name="loops.src.dir"        location="${basedir}/src/loops"/>
  <property name="tck.src.dir"          location="${test.src.dir}/tck"/>
  <property name="jtreg.src.dir"        location="${test.src.dir}/jtreg"/>
  <property name="lib.dir"              location="${basedir}/lib"/>
  <property name="dist.dir"             location="${basedir}/dist"/>
  <property name="topsrc.dir"           location="${basedir}/src"/>
  <property name="4jdk7src.dir"         location="${topsrc.dir}/jdk7"/>
  <property name="jsr166xsrc.dir"       location="${topsrc.dir}/jsr166x"/>
  <property name="jsr166ysrc.dir"       location="${topsrc.dir}/jsr166y"/>
  <property name="jsr166esrc.dir"       location="${topsrc.dir}/jsr166e"/>
  <property name="extra166ysrc.dir"     location="${topsrc.dir}/extra166y"/>

  <!-- Distribution locations -->
  <property name="dist.javadocs.dir"          location="${dist.dir}/jsr166.docs"/>
  <property name="dist.4jdk7.docs.dir"        location="${dist.dir}/jsr166-4jdk7.docs"/>
  <property name="dist.jsr166xjavadocs.dir"   location="${dist.dir}/jsr166x.docs"/>
  <property name="dist.jsr166yjavadocs.dir"   location="${dist.dir}/jsr166y.docs"/>
  <property name="dist.jsr166ejavadocs.dir"   location="${dist.dir}/jsr166e.docs"/>
  <property name="dist.extra166yjavadocs.dir" location="${dist.dir}/extra166y.docs"/>

  <!-- Jar locations -->
  <property name="product.jar"      location="${build.dir}/jsr166.jar"/>
  <property name="4jdk7product.jar" location="${build.4jdk7.dir}/jsr166-4jdk7.jar"/>
  <property name="jsr166x.jar"      location="${build.jsr166x.dir}/jsr166x.jar"/>
  <property name="jsr166y.jar"      location="${build.jsr166y.dir}/jsr166y.jar"/>
  <property name="jsr166e.jar"      location="${build.jsr166e.dir}/jsr166e.jar"/>
  <property name="extra166y.jar"    location="${build.extra166y.dir}/extra166y.jar"/>
  <property name="junit.jar"        location="${lib.dir}/junit.jar"/>

  <!-- Canonical location of jdk API docs, to use with javadoc link attribute -->
  <property name="jdkapi5docs.url"      value="http://docs.oracle.com/javase/1.5.0/docs/api/"/>
  <property name="jdkapi6docs.url"      value="http://docs.oracle.com/javase/6/docs/api/"/>
  <property name="jdkapi7docs.url"      value="http://docs.oracle.com/javase/7/docs/api/"/>

  <property name="jdkapi8docs.url"      value="http://download.java.net/jdk8/docs/api/"/>
  <!-- The below does not yet exist as of 2013-01 -->
  <!-- <property name="jdkapi8docs.url" value="http://docs.oracle.com/javase/8/docs/api/"/> -->

  <!-- Default jdk api doc location (latest stable release seems best) -->
  <property name="jdkapidocs.url"       value="${jdkapi7docs.url}"/>

  <!-- Define the "jtreg" task -->
  <!-- See the docs in "jtreg -onlineHelp" -->
  <taskdef name="jtreg" classname="com.sun.javatest.regtest.Main$$Ant"
           classpath="${lib.dir}/jtreg.jar" />

  <!-- Test classpath -->
  <path id="test.classpath">
    <pathelement location="${build.testcases.dir}"/>
    <pathelement location="${junit.jar}"/>
  </path>

  <macrodef name="run-tck-tests">
    <attribute name="tck.src.dir" default="${tck.src.dir}"/>
    <attribute name="source" default="6"/>
    <attribute name="target"/>
    <attribute name="workdir"/>
    <attribute name="classes"/>
    <attribute name="jvmflags" default=""/>
    <sequential>

    <mkdir dir="@{workdir}/tck-classes"/>

    <javac srcdir="@{tck.src.dir}"
           destdir="@{workdir}/tck-classes"
           debug="${build.debug}"
           debuglevel="${build.debuglevel}"
           deprecation="${build.deprecation}"
           source="@{source}"
           classpath="${junit.jar}"
           bootclasspath="@{classes}:${bootclasspath@{source}}"
           includeAntRuntime="false"
           includeJavaRuntime="false"
           executable="${javac@{target}}"
           fork="true">

      <include name="*.java"/>
      <compilerarg value="-XDignore.symbol.file=true"/>
      <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
      <compilerarg line="${build.args}"/>

    </javac>

    <java classname="JSR166TestCase"
          failonerror="true"
          jvm="${java@{target}}"
          fork="true">
	<jvmarg value="-Xbootclasspath/p:@{classes}"/>
	<jvmarg line="@{jvmflags}"/>
	<classpath>
	  <pathelement location="${junit.jar}"/>
	  <pathelement location="@{workdir}/tck-classes"/>
	</classpath>
    </java>

    </sequential>
  </macrodef>

  <!-- ALoops classpath -->
  <path id="loops.classpath">
    <pathelement location="${build.loops.dir}"/>
  </path>

  <!-- Support @jls tag, used in jdk8+ javadoc -->
  <property name="javadoc.jls.cite" value="The Java&amp;trade; Language Specification"/>
  <property name="javadoc.jls.option" value="jls:a:See &lt;cite&gt;${javadoc.jls.cite}&lt;/cite&gt;:"/>

  <!-- Main targets -->

  <target name="dists"
          depends="dist, 4jdk7dist, jsr166edist, jsr166ydist, extra166ydist, jsr166xdist"
          description="Builds all public jars and docs"/>

  <target name="compile"
          depends="configure-compiler"
          description="Compiles src/main sources to build dir">

    <mkdir dir="${build.classes.dir}"/>

    <javac srcdir="${src.dir}"
           destdir="${build.classes.dir}"
           debug="${build.debug}"
           debuglevel="${build.debuglevel}"
           deprecation="${build.deprecation}"
           classpath=""
           includeAntRuntime="false"
           includeJavaRuntime="false"
           executable="${javac8}"
           fork="true">

      <include name="**/*.java"/>
      <compilerarg value="-XDignore.symbol.file=true"/>
      <compilerarg value="-Xlint:all"/>
      <compilerarg line="${build.args}"/>

    </javac>
  </target>


  <target name="jar"
          depends="compile"
          description="Builds library jar from compiled sources">

    <jar destfile="${product.jar}">
      <fileset dir="${build.classes.dir}"/>
    </jar>
  </target>


  <target name="test"
          depends="configure-tests, report-tests"
          description="Runs all tests (requires JUnit 3.8.1 in ${ant.home}/lib)" />


  <target name="docs"
          description="Builds javadocs for src/main to dist dir">

    <delete dir="${dist.javadocs.dir}"/>
    <mkdir dir="${dist.javadocs.dir}"/>

    <!-- the packagenames="none" hack below prevents scanning the -->
    <!-- sourcepath for packages -->

    <javadoc destdir="${dist.javadocs.dir}"
             packagenames="none"
             link="${jdkapi8docs.url}"
             overview="${src.dir}/intro.html"
             sourcepath="${src.dir}:${jdk8src.dir}"
             classpath=""
             executable="${javadoc8}">
      <fileset dir="${src.dir}" defaultexcludes="yes">
        <include name="**/*.java"/>
      </fileset>
      <arg value="-XDignore.symbol.file=true"/>
      <arg value="-tag"/>
      <arg value="${javadoc.jls.option}"/>
    </javadoc>
  </target>


  <target name="dist"
          depends="dist-clean, dist-jar, docs"
          description="Puts all distributable products in single hierarchy"/>


  <target name="release"
          depends="dist"
          description="Puts entire CVS tree, plus distribution productions, in a jar">

    <property name="release.jar" value="dist/jsr166-${version}-dist.jar"/>

    <jar basedir="${basedir}" destfile="${release.jar}">
      <!-- <exclude name="build/**"/> -->
      <exclude name="${release.jar}"/>
      <exclude name="user.properties"/>
      <exclude name="etc/notes/**"/>
      <exclude name="src/emulation/**"/>
      <exclude name="**/SyntaxTest.java"/>
      <exclude name="**/SuperfluousAbstract.java"/>
    </jar>
  </target>


  <target name="clean"
          description="Removes all build products">

    <delete dir="${build.dir}"/>

  </target>


  <target name="dist-clean"
          description="Removes all build and distribution products">

    <delete dir="${dist.dir}"/>

  </target>


  <!-- Internal targets -->


  <target name="dist-jar"
          depends="clean, jar">

    <copy file="${product.jar}" todir="${dist.dir}"/>

  </target>


  <target name="compile-tests"
          depends="jar">

    <mkdir dir="${build.testcases.dir}"/>

    <javac srcdir="${tck.src.dir}"
           destdir="${build.testcases.dir}"
           debug="${build.debug}"
           debuglevel="${build.debuglevel}"
           deprecation="${build.deprecation}"
           source="6"
           classpath="${junit.jar}"
           bootclasspath="@{product.jar}:${bootclasspath6}"
           includeAntRuntime="false"
           includeJavaRuntime="false"
           executable="${javac8}"
           fork="true">

      <include name="**/*.java"/>
      <compilerarg value="-XDignore.symbol.file=true"/>
      <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
      <compilerarg line="${build.args}"/>

    </javac>

    <javac srcdir="${test.src.dir}"
           destdir="${build.testcases.dir}"
           debug="${build.debug}"
           debuglevel="${build.debuglevel}"
           deprecation="${build.deprecation}"
           source="6"
           classpath=""
           bootclasspath="@{product.jar}:${bootclasspath6}"
           includeAntRuntime="false"
           includeJavaRuntime="false"
           executable="${javac8}"
           fork="true">

      <include name="jsr166/test/**/*.java"/>
      <compilerarg value="-XDignore.symbol.file=true"/>
      <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
      <compilerarg line="${build.args}"/>

    </javac>

<!--
    <javac srcdir="${jtreg.src.dir}"
          destdir="${build.testcases.dir}"
            debug="${build.debug}"
       debuglevel="${build.debuglevel}"
      deprecation="${build.deprecation}"
           source="${build.sourcelevel}"
             fork="true">

      <compilerarg value="-Xbootclasspath/p:${product.jar}"/>
      <compilerarg value="-XDignore.symbol.file=true"/>
      <compilerarg line="${build.args}"/>

    </javac>
-->

  </target>


  <target name="run-tests"
          depends="compile-tests">

    <!-- May be overridden by user.properties -->
    <property name="testcase" value="*"/>

    <mkdir dir="${build.reports.dir}"/>

    <junit printsummary="true"
             showoutput="true"
          errorProperty="junit.failed"
        failureProperty="junit.failed"
                    dir="${build.reports.dir}"
                    jvm="${java8}"
                   fork="true">

      <jvmarg value="-Xbootclasspath/p:${product.jar}"/>
      <jvmarg value="-server"/>
      <jvmarg value="-showversion"/>

      <classpath refid="test.classpath"/>

      <formatter type="xml"/>

      <batchtest todir="${build.reports.dir}" unless="no.test.tck">
        <fileset dir="${tck.src.dir}">
          <include name="**/${testcase}Test.java"/>
        </fileset>
      </batchtest>

      <batchtest todir="${build.reports.dir}" if="do.test.old">
        <fileset dir="${test.src.dir}">
          <include name="jsr166/test/**/${testcase}Test.java"/>
        </fileset>
      </batchtest>

<!--
      <batchtest todir="${build.reports.dir}" if="do.test.jtreg">
        <fileset dir="${jtreg.src.dir}">
          <include name="**/${testcase}Test.java"/>
        </fileset>
      </batchtest>
-->

    </junit>

  </target>


  <target name="report-tests"
          depends="run-tests">

    <!-- Sets junit.report.format to frames if redirection is present,
         otherwise sets it to noframes. -->
    <available property="junit.report.format"
                  value="frames"
              classname="org.apache.xalan.lib.Redirect"
    />
    <property name="junit.report.format" value="noframes"/>

    <junitreport todir="${build.reports.dir}">
      <fileset dir="${build.reports.dir}">
        <include name="TEST-*.xml"/>
      </fileset>
      <report format="${junit.report.format}" todir="${build.reports.dir}"
      />
    </junitreport>

    <fail message="Test Cases Failed" if="junit.failed"/>

  </target>


  <target name="configure-compiler">

    <property name="unchecked.option" value="-Xlint:unchecked"/>

    <condition property="warnunchecked.arg" value="${unchecked.option}">
      <istrue value="${build.warnunchecked}"/>
    </condition>

    <property name="warnunchecked.arg" value=""/>


    <!-- Common options in javac invocations -->
    <property name="build.args" value="${warnunchecked.arg}"/>

  </target>


  <target name="configure-tests"
       depends="configure-compiler">

    <!-- junit.framework.Protectable is in JUnit 3.8.1 but not in 3.7 -->
    <available property="junit.available"
               classname="junit.framework.Protectable"/>

    <!-- Xalan -->
    <available property="xalan.available"
               classname="org.apache.xalan.Version"/>


    <!-- Ant 1.6beta and later don't need or want this check -->
    <!--
    <fail message="Need JUnit 3.8.1 in ${ant.home}${file.separator}lib to run tests"
          unless="junit.available"/>

    <fail message="Need Xalan 2.5.1 jar in ${ant.home}${file.separator}lib to run tests"
          unless="xalan.available"/>
    -->

  </target>


  <!-- Various demos and test programs -->


  <target name="loops" depends="configure-compiler"
          description="Benchmark from Doug Lea's AQS paper">

    <mkdir dir="${build.loops.dir}"/>

    <javac srcdir="${loops.src.dir}"
          destdir="${build.loops.dir}"
            debug="${build.debug}"
       debuglevel="${build.debuglevel}"
      deprecation="${build.deprecation}"
           source="${build.sourcelevel}"
             fork="true">

      <compilerarg line="${build.args}"/>
      <classpath refid="loops.classpath"/>
      <compilerarg value="-XDignore.symbol.file=true"/>

    </javac>

    <java classname="ALoops" fork="true">
      <classpath refid="loops.classpath"/>
    </java>

  </target>


  <!-- jsr166 4jdk7 -->

  <target name="4jdk7compile"
          depends="configure-compiler"
          description="Compiles src/jdk7 sources, targeting jdk7">

    <mkdir dir="${build.4jdk7.classes.dir}"/>

    <javac srcdir="${4jdk7src.dir}"
           destdir="${build.4jdk7.classes.dir}"
           debug="${build.debug}"
           debuglevel="${build.debuglevel}"
           deprecation="${build.deprecation}"
           source="6"
           classpath=""
           bootclasspath="${bootclasspath6}"
           includeAntRuntime="false"
           includeJavaRuntime="false"
           executable="${javac7}"
           fork="true">

      <include name="**/*.java"/>
      <compilerarg value="-XDignore.symbol.file=true"/>
      <compilerarg value="-Xlint:all"/>
      <compilerarg line="${build.args}"/>

    </javac>
  </target>


  <target name="4jdk7-jar"
          depends="4jdk7compile"
          description="Builds library jar from compiled sources">

    <jar destfile="${4jdk7product.jar}">
      <fileset dir="${build.4jdk7.classes.dir}"/>
    </jar>

  </target>


  <target name="4jdk7-test-tck"
	  depends="4jdk7-jar"
          description="Runs tck tests for jsr166-4jdk7 directly">

    <run-tck-tests
      target="7"
      workdir="${build.4jdk7.dir}"
      classes="${4jdk7product.jar}"/>
  </target>


  <target name="4jdk7-test-tck-junit"
          depends="4jdk7compile"
          description="Runs tck tests for jsr166-4jdk7 via junit task (experimental)">

    <junit printsummary="true"
           showoutput="true"
           errorProperty="junit.failed"
           failureProperty="junit.failed"
           includeantruntime="true"
           jvm="${java7}"
           fork="true">

      <jvmarg value="-Xbootclasspath/p:${4jdk7product.jar}"/>
      <jvmarg value="-server"/>

      <classpath>
        <pathelement location="${junit.jar}"/>
        <pathelement location="${build.4jdk7.tck.classes.dir}"/>
      </classpath>

      <formatter type="brief"/>

      <test name="JSR166TestCase" haltonfailure="no">
      </test>

    </junit>
  </target>

  <target name="4jdk7-test-jtreg"
	  depends="4jdk7compile"
          description="Runs jtreg tests for jsr166-4jdk7 using the jtreg ant task">
    <delete dir="${build.4jdk7.dir}/JTwork"   quiet="true"/>
    <delete dir="${build.4jdk7.dir}/JTreport" quiet="true"/>
    <mkdir dir="${build.4jdk7.dir}/JTwork/scratch"/>
    <mkdir dir="${build.4jdk7.dir}/JTreport"/>
    <jtreg dir="${jtreg.src.dir}"
           jdk="${jdk7.home}"
           workDir="${build.4jdk7.dir}/JTwork"
           reportDir="${build.4jdk7.dir}/JTreport">

      <arg value="-Xbootclasspath/p:${4jdk7product.jar}"/>
      <arg value="-agentvm"/>
      <arg value="-v:nopass,fail"/>
      <arg value="-vmoptions:-esa -ea"/>
      <arg value="-automatic"/>
      <arg value="-k:!ignore"/>
    </jtreg>
  </target>


  <target name="4jdk7-test"
	  depends="4jdk7-test-tck, 4jdk7-test-jtreg"
          description="Runs tck and jtreg tests for jsr166-4jdk7">
  </target>


  <target name="4jdk7docs"
          description="Builds javadocs for src/jdk7 to dist dir">

    <delete dir="${dist.4jdk7.docs.dir}"/>
    <mkdir dir="${dist.4jdk7.docs.dir}"/>

    <javadoc destdir="${dist.4jdk7.docs.dir}"
             packagenames="none"
             link="${jdkapi7docs.url}"
             overview="${4jdk7src.dir}/intro.html"
             sourcepath="${4jdk7src.dir}:${jdk7src.dir}"
             classpath=""
             executable="${javadoc7}">
      <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
        <include name="**/*.java"/>
      </fileset>
      <arg value="-XDignore.symbol.file=true"/>
    </javadoc>
  </target>


  <target name="4jdk7dist"
          depends="4jdk7dist-clean, 4jdk7dist-jar, 4jdk7docs"
          description="Puts all distributable products in single hierarchy"/>


  <target name="4jdk7clean"
          description="Removes all 4jdk7 build products">

    <delete dir="${build.4jdk7.dir}"/>

  </target>


  <target name="4jdk7dist-clean"
          description="Removes all build and distribution products">

  </target>

  <target name="4jdk7dist-jar"
          depends="4jdk7clean, 4jdk7-jar">

    <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>

  </target>


  <!-- jsr166x -->

  <target name="jsr166xcompile"
          depends="configure-compiler"
          description="Compiles jsr166x sources to build dir">

    <mkdir dir="${build.jsr166x.classes.dir}"/>

    <javac srcdir="${topsrc.dir}"
           destdir="${build.jsr166x.classes.dir}"
           debug="${build.debug}"
           debuglevel="${build.debuglevel}"
           deprecation="${build.deprecation}"
           classpath=""
           bootclasspath="${bootclasspath6}"
           source="5"
           includeAntRuntime="false"
           includeJavaRuntime="false"
           executable="${javac7}"
           fork="true">

      <include name="jsr166x/**/*.java"/>
      <compilerarg value="-XDignore.symbol.file=true"/>
      <compilerarg value="-Xlint:all,-unchecked,-rawtypes"/>
      <compilerarg line="${build.args}"/>

    </javac>
  </target>


  <target name="jsr166x-jar"
          depends="jsr166xcompile"
          description="Builds library jar from compiled sources">

    <jar destfile="${jsr166x.jar}">
      <fileset dir="${build.jsr166x.classes.dir}"/>
    </jar>

  </target>


  <target name="jsr166xdocs"
          description="Builds javadocs to dist dir">

    <delete dir="${dist.jsr166xjavadocs.dir}"/>
    <mkdir dir="${dist.jsr166xjavadocs.dir}"/>

    <javadoc destdir="${dist.jsr166xjavadocs.dir}"
             packagenames="jsr166x.*"
             link="${jdkapidocs.url}"
             sourcepath="${topsrc.dir}:${jdk6src.dir}"
             bootclasspath="${bootclasspath6}"
             source="5"
             executable="${javadoc7}">
      <arg value="-XDignore.symbol.file=true"/>

    </javadoc>
  </target>


  <target name="jsr166xdist"
          depends="jsr166xdist-clean, jsr166xdist-jar, jsr166xdocs"
          description="Puts all distributable products in single hierarchy"/>


  <target name="jsr166xclean"
          description="Removes all jsr166x build products">

    <delete dir="${build.jsr166x.dir}"/>

  </target>


  <target name="jsr166xdist-clean"
          description="Removes all build and distribution products">

  </target>


  <target name="jsr166xdist-jar"
          depends="jsr166xclean, jsr166x-jar">

    <copy file="${jsr166x.jar}" todir="${dist.dir}"/>

  </target>

  <!-- jsr166y -->


  <target name="jsr166ycompile"
          depends="configure-compiler"
          description="Compiles jsr166y sources">

    <mkdir dir="${build.jsr166y.classes.dir}"/>

    <javac srcdir="${topsrc.dir}"
           destdir="${build.jsr166y.classes.dir}"
           debug="${build.debug}"
           debuglevel="${build.debuglevel}"
           deprecation="${build.deprecation}"
           source="6"
           classpath=""
           bootclasspath="${bootclasspath6}"
           includeAntRuntime="false"
           includeJavaRuntime="false"
           executable="${javac7}"
           fork="true">

      <include name="jsr166y/**/*.java"/>
      <compilerarg value="-XDignore.symbol.file=true"/>
      <compilerarg value="-Xlint:all"/>
      <compilerarg line="${build.args}"/>

    </javac>
  </target>


  <target name="jsr166y-jar"
          depends="jsr166ycompile"
          description="Builds library jar from compiled sources">

    <jar destfile="${jsr166y.jar}" index="true">
      <fileset dir="${build.jsr166y.classes.dir}"/>
    </jar>

  </target>


  <target name="jsr166ydocs"
          description="Builds javadocs to dist dir">

    <delete dir="${dist.jsr166yjavadocs.dir}"/>
    <mkdir dir="${dist.jsr166yjavadocs.dir}"/>

    <javadoc destdir="${dist.jsr166yjavadocs.dir}"
             packagenames="jsr166y.*"
             link="${jdkapidocs.url}"
             sourcepath="${topsrc.dir}:${jdk6src.dir}"
             bootclasspath="${bootclasspath6}"
             source="6"
             executable="${javadoc7}">
      <arg value="-XDignore.symbol.file=true"/>

    </javadoc>
  </target>


  <target name="jsr166ydist"
          depends="jsr166ydist-clean, jsr166ydist-jar, jsr166ydocs"
          description="Puts all distributable products in single hierarchy"/>


  <target name="jsr166yclean"
          description="Removes all jsr166y build products">

    <delete dir="${build.jsr166y.dir}"/>

  </target>


  <target name="jsr166ydist-clean"
          description="Removes all build and distribution products">

  </target>

  <target name="jsr166ydist-jar"
          depends="jsr166yclean, jsr166y-jar">

    <copy file="${jsr166y.jar}" todir="${dist.dir}"/>

  </target>


  <!-- extra166y -->


  <target name="extra166ycompile"
          depends="configure-compiler, jsr166y-jar"
          description="Compiles extra166y sources">

    <mkdir dir="${build.extra166y.classes.dir}"/>

    <javac srcdir="${topsrc.dir}"
           destdir="${build.extra166y.classes.dir}"
           debug="${build.debug}"
           debuglevel="${build.debuglevel}"
           deprecation="${build.deprecation}"
           bootclasspath="@{jsr166y.jar}:${bootclasspath6}"
           classpath=""
           source="6"
           includeAntRuntime="false"
           includeJavaRuntime="false"
           executable="${javac7}"
           fork="true">

      <include name="extra166y/**/*.java"/>
      <compilerarg value="-XDignore.symbol.file=true"/>
      <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
      <compilerarg line="${build.args}"/>

    </javac>
  </target>


  <target name="extra166y-jar"
          depends="extra166ycompile"
          description="Builds library jar from compiled sources">

    <jar destfile="${extra166y.jar}" index="true">
      <fileset dir="${build.extra166y.classes.dir}"/>
    </jar>

  </target>


  <target name="extra166ydocs"
          description="Builds javadocs to build dir">

    <delete dir="${dist.extra166yjavadocs.dir}"/>
    <mkdir dir="${dist.extra166yjavadocs.dir}"/>

    <javadoc destdir="${dist.extra166yjavadocs.dir}"
             packagenames="extra166y.*"
             link="${jdkapidocs.url}"
             sourcepath="${topsrc.dir}:${jdk6src.dir}"
             bootclasspath="${bootclasspath6}"
             source="6"
             executable="${javadoc7}">
      <arg value="-XDignore.symbol.file=true"/>

    </javadoc>
  </target>


  <target name="extra166ydist"
          depends="extra166ydist-clean, extra166ydist-jar, extra166ydocs"
          description="Puts all distributable products in single hierarchy"/>


  <target name="extra166yclean"
          description="Removes all extra166y build products">

    <delete dir="${build.extra166y.dir}"/>

  </target>


  <target name="extra166ydist-clean"
          description="Removes all build and distribution products">

  </target>

  <target name="extra166ydist-jar"
          depends="extra166yclean, extra166y-jar">

    <copy file="${extra166y.jar}" todir="${dist.dir}"/>

  </target>

  <!-- jsr166e -->

  <target name="jsr166ecompile"
          depends="configure-compiler"
          description="Compiles jsr166e sources">

    <mkdir dir="${build.jsr166e.classes.dir}"/>

    <javac srcdir="${topsrc.dir}"
           destdir="${build.jsr166e.classes.dir}"
           debug="${build.debug}"
           debuglevel="${build.debuglevel}"
           deprecation="${build.deprecation}"
           source="7"
           classpath=""
           includeAntRuntime="false"
           includeJavaRuntime="false"
           executable="${javac7}"
           fork="true">

      <include name="jsr166e/**/*.java"/>
      <compilerarg value="-XDignore.symbol.file=true"/>
      <compilerarg value="-Xlint:all"/>
      <compilerarg line="${build.args}"/>

    </javac>
  </target>


  <target name="jsr166e-jar"
          depends="jsr166ecompile"
          description="Builds library jar from compiled sources">

    <jar destfile="${jsr166e.jar}" index="true">
      <fileset dir="${build.jsr166e.classes.dir}"/>
    </jar>

  </target>


  <target name="jsr166edocs"
          description="Builds javadocs to build dir">

    <delete dir="${dist.jsr166ejavadocs.dir}"/>
    <mkdir dir="${dist.jsr166ejavadocs.dir}"/>

    <javadoc destdir="${dist.jsr166ejavadocs.dir}"
             packagenames="jsr166e.*"
             link="${jdkapidocs.url}"
             sourcepath="${topsrc.dir}:${jdk7src.dir}"
             source="7"
             executable="${javadoc7}">
      <arg value="-XDignore.symbol.file=true"/>

    </javadoc>
  </target>


  <target name="jsr166e-test-tck"
	  depends="jsr166e-jar"
          description="Runs tck tests for jsr166e">

    <run-tck-tests
      tck.src.dir="${test.src.dir}/tck-jsr166e"
      source="7"
      target="8"
      workdir="${build.jsr166e.dir}"
      classes="${jsr166e.jar}"/>
  </target>


  <target name="jsr166edist"
          depends="jsr166edist-clean, jsr166edist-jar, jsr166edocs"
          description="Puts all distributable products in single hierarchy"/>


  <target name="jsr166eclean"
          description="Removes all jsr166e build products">

    <delete dir="${build.jsr166e.dir}"/>

  </target>


  <target name="jsr166edist-clean"
          description="Removes all build and distribution products">

  </target>

  <target name="jsr166edist-jar"
          depends="jsr166eclean, jsr166e-jar">

    <copy file="${jsr166e.jar}" todir="${dist.dir}"/>

  </target>

</project>

Doug Lea
ViewVC Help
Powered by ViewVC 1.0.8