diff options
author | Heather Miller <heather.miller@epfl.ch> | 2012-04-15 14:51:18 +0200 |
---|---|---|
committer | Heather Miller <heather.miller@epfl.ch> | 2012-04-15 14:51:18 +0200 |
commit | e4bea920b42eaa526a9e07ad001f17443d6abeba (patch) | |
tree | c786202cc9d0fa5b1a26dfd8e1154cacca7fbaf4 /build.xml | |
parent | 23aa1a8d7b08b767f90657baf9bc13a355682671 (diff) | |
parent | 364dd41c3e0e33afe6c3ec6e0c04f1d345c4b6ca (diff) | |
download | scala-e4bea920b42eaa526a9e07ad001f17443d6abeba.tar.gz scala-e4bea920b42eaa526a9e07ad001f17443d6abeba.tar.bz2 scala-e4bea920b42eaa526a9e07ad001f17443d6abeba.zip |
Merge branch 'master' of https://github.com/scala/scala into wip-sip14-fixes
Diffstat (limited to 'build.xml')
-rw-r--r-- | build.xml | 149 |
1 files changed, 78 insertions, 71 deletions
@@ -8,10 +8,10 @@ SuperSabbus for Scala core, builds the scala library and compiler. It can also p <!-- =========================================================================== END-USER TARGETS ============================================================================ --> - + <target name="build" depends="pack.done" description="Builds the Scala compiler and library. Executables are in 'build/pack/bin'."/> - + <target name="build-opt" description="Builds the optimised Scala compiler and library. Executables are in 'build/pack/bin'."> <antcall target="build"> @@ -34,20 +34,20 @@ END-USER TARGETS <target name="docs" depends="docs.done" description="Builds documentation for the Scala library. Scaladoc is in 'build/scaladoc/library'."/> - + <target name="docscomp" depends="docs.comp" description="Builds documentation for the Scala compiler and library. Scaladoc is in 'build/scaladoc'."/> - + <target name="docsclean" depends="docs.clean" description="Removes generated documentation. Distributions are untouched."/> - + <target name="dist" description="Makes a new distribution and tests it. Will remove existing binaries and documentation."> <antcall target="locker.clean"/> <antcall target="docs.clean"/> <antcall target="all.done"/> </target> - + <target name="dist-opt" description="Makes a new optimised distribution and tests it. Will remove existing binaries and documentation."> <antcall target="dist"> @@ -67,7 +67,7 @@ END-USER TARGETS <target name="distclean" depends="dist.clean" description="Removes all distributions. Binaries and documentation are untouched."/> - + <target name="replacestarr" description="Replaces the Starr compiler and library by fresh ones built from current sources and tests them."> <fail message="This target is not available on Windows. Use 'ant replacestarrwin' instead."> @@ -81,7 +81,7 @@ END-USER TARGETS <antcall target="locker.clean"/> <antcall target="test.done"/> </target> - + <target name="replacestarr-opt" description="Replaces the Starr compiler and library by fresh, optimised ones built from current sources and tests them."> <antcall target="replacestarr"> @@ -103,7 +103,7 @@ END-USER TARGETS <antcall target="locker.clean"/> <antcall target="test.done"/> </target> - + <target name="replacelocker" description="Replaces the Locker compiler and library by fresh ones built from current sources."> <antcall target="palo.clean"/> @@ -144,7 +144,7 @@ END-USER TARGETS description="Requires forkjoin library to be rebuilt. Add this target before any other if class file format is incompatible."> <property name="forkjoin.outdated" value="yes"/> </target> - + <!-- =========================================================================== PROPERTIES ============================================================================ --> @@ -159,7 +159,7 @@ PROPERTIES <property name="lib-ant.dir" value="${lib.dir}/ant"/> <property name="src.dir" value="${basedir}/src"/> <property name="partest.dir" value="${basedir}/test"/> - + <!-- For developers: any jars placed in this dir will be added to the classpath of all targets and copied into quick/pack/etc builds. --> <property name="lib-extra.dir" value="${lib.dir}/extra"/> @@ -281,7 +281,7 @@ INITIALISATION <condition property="os.win"> <os family="windows"/> </condition> - + <exec osfamily="unix" executable="tools/get-scala-commit-sha" outputproperty="git.commit.sha" failifexecutionfails="false" /> <exec osfamily="windows" executable="tools/get-scala-commit-sha.bat" outputproperty="git.commit.sha" failifexecutionfails="false" /> <exec osfamily="unix" executable="tools/get-scala-commit-date" outputproperty="git.commit.date" failifexecutionfails="false" /> @@ -314,12 +314,13 @@ INITIALISATION <target name="init.version.done" depends="init.version.release, init.version.snapshot"/> <target name="init" depends="init.jars, init.maven.jars, init.version.done"> + <property name="scalac.args.always" value="-Xmacros" /> <!-- scalac.args.optimise is selectively overridden in certain antcall tasks. --> <property name="scalac.args.optimise" value=""/> <!-- scalac.args.quickonly are added to quick.* targets but not others (particularly, locker.) This is to facilitate testing new command line options which do not yet exist in starr. --> <property name="scalac.args.quickonly" value=""/> - <property name="scalac.args.all" value="${scalac.args} ${scalac.args.optimise}"/> + <property name="scalac.args.all" value="${scalac.args.always} ${scalac.args} ${scalac.args.optimise}"/> <property name="scalac.args.quick" value="${scalac.args.all} ${scalac.args.quickonly}"/> <!-- Setting-up Ant contrib tasks --> <taskdef resource="net/sf/antcontrib/antlib.xml" classpath="${lib.dir}/ant/ant-contrib.jar"/> @@ -336,7 +337,7 @@ INITIALISATION <!-- Local libs (developer use.) --> <mkdir dir="${lib-extra.dir}"/> - + <path id="lib.extra"> <!-- needs ant 1.7.1 --> <!-- <fileset dir="${lib-extra.dir}" erroronmissingdir="false"> --> @@ -386,7 +387,7 @@ INITIALISATION <pathelement location="${lib.dir}/forkjoin.jar"/> <path refid="lib.extra"/> </path> - <taskdef resource="scala/tools/ant/sabbus/antlib.xml" classpathref="starr.classpath"/> + <taskdef resource="scala/tools/ant/sabbus/antlib.xml" classpathref="starr.classpath"/> </target> <!-- =========================================================================== @@ -449,7 +450,7 @@ LOCAL REFERENCE BUILD (LOCKER) <touch file="${build-locker.dir}/library.complete" verbose="no"/> <stopwatch name="locker.lib.timer" action="total"/> </target> - + <target name="locker.pre-comp" depends="locker.lib" unless="locker.available"> <condition property="locker.comp.needed"> <not><available file="${build-locker.dir}/compiler.complete"/></not> @@ -509,11 +510,11 @@ LOCAL REFERENCE BUILD (LOCKER) <path refid="aux.libs"/> </path> </target> - + <target name="locker.clean" depends="palo.clean"> <delete dir="${build-locker.dir}" includeemptydirs="yes" quiet="yes" failonerror="no"/> </target> - + <target name="locker.unlock.pre-lib"> <uptodate property="locker.lib.available" targetfile="${build-locker.dir}/library.complete"> <srcfiles dir="${src.dir}"> @@ -635,7 +636,7 @@ PACKED LOCKER BUILD (PALO) <!-- =========================================================================== QUICK BUILD (QUICK) ============================================================================ --> - + <target name="quick.start" depends="locker.done"/> <target name="quick.pre-lib" depends="quick.start"> @@ -659,7 +660,7 @@ QUICK BUILD (QUICK) classpath="${build-quick.dir}/classes/library" includes="**/*.java" target="1.5" source="1.5"> - <compilerarg line="${javac.args}"/> + <compilerarg line="${javac.args}"/> </javac> <javac srcdir="${src.dir}/actors" @@ -723,13 +724,13 @@ QUICK BUILD (QUICK) <touch file="${build-quick.dir}/library.complete" verbose="no"/> <stopwatch name="quick.lib.timer" action="total"/> </target> - + <target name="quick.newlibs" depends="quick.lib" if="libs.outdated"> <antcall target="libs.done" inheritRefs="true"/> <property name="fjbg.jar" value="${build-libs.dir}/fjbg.jar"/> <property name="msil.jar" value="${build-libs.dir}/msil.jar"/> </target> - + <target name="quick.libs" depends="quick.newlibs" unless="libs.outdated"> <property name="fjbg.jar" value="${lib.dir}/fjbg.jar"/> <property name="msil.jar" value="${lib.dir}/msil.jar"/> @@ -826,7 +827,7 @@ QUICK BUILD (QUICK) <scalacfork destdir="${build-quick.dir}/classes/library" compilerpathref="quick.classpath" - params="${scalac.args.quick} -Xplugin-require:continuations" + params="${scalac.args.quick} -Xplugin-require:continuations -P:continuations:enable" srcdir="${src.dir}/continuations/library" jvmargs="${scalacfork.jvmargs}"> <include name="**/*.scala"/> @@ -837,7 +838,7 @@ QUICK BUILD (QUICK) <touch file="${build-quick.dir}/plugins.complete" verbose="no"/> <stopwatch name="quick.plugins.timer" action="total"/> </target> - + <target name="quick.pre-scalacheck" depends="quick.plugins"> <uptodate property="quick.scalacheck.available" targetfile="${build-quick.dir}/scalacheck.complete"> <srcfiles dir="${src.dir}/scalacheck"/> @@ -862,7 +863,7 @@ QUICK BUILD (QUICK) <touch file="${build-quick.dir}/scalacheck.complete" verbose="no"/> <stopwatch name="quick.scalacheck.timer" action="total"/> </target> - + <target name="quick.pre-scalap" depends="quick.scalacheck"> <uptodate property="quick.scalap.available" targetfile="${build-quick.dir}/scalap.complete"> <srcfiles dir="${src.dir}/scalap"/> @@ -897,7 +898,7 @@ QUICK BUILD (QUICK) <srcfiles dir="${src.dir}/partest"/> </uptodate> </target> - + <target name="quick.partest" depends="quick.pre-partest" unless="quick.partest.available"> <stopwatch name="quick.partest.timer"/> <mkdir dir="${build-quick.dir}/classes/partest"/> @@ -992,7 +993,7 @@ QUICK BUILD (QUICK) <chmod perm="ugo+rx" file="${build-quick.dir}/bin/scalap"/> <touch file="${build-quick.dir}/bin.complete" verbose="no"/> </target> - + <target name="quick.done" depends="quick.bin"> <path id="quick.classpath"> <pathelement location="${build-quick.dir}/classes/library"/> @@ -1008,9 +1009,9 @@ QUICK BUILD (QUICK) <!-- =========================================================================== PACKED QUICK BUILD (PACK) ============================================================================ --> - + <target name="pack.start" depends="quick.done"/> - + <target name="pack.pre-lib" depends="pack.start"> <uptodate property="pack.lib.available" @@ -1049,7 +1050,7 @@ PACKED QUICK BUILD (PACK) </fileset> </jar> </target> - + <target name="pack.pre-comp" depends="pack.lib"> <uptodate property="pack.comp.available" @@ -1077,7 +1078,7 @@ PACKED QUICK BUILD (PACK) </fileset> </copy> </target> - + <target name="pack.pre-plugins" depends="pack.comp"> <uptodate property="pack.plugins.available" @@ -1091,13 +1092,13 @@ PACKED QUICK BUILD (PACK) <fileset dir="${build-quick.dir}/classes/continuations-plugin"/> </jar> </target> - + <target name="pack.scalacheck" depends="pack.plugins"> <jar destfile="${build-pack.dir}/lib/scalacheck.jar"> <fileset dir="${build-quick.dir}/classes/scalacheck"/> </jar> </target> - + <target name="pack.pre-partest" depends="pack.scalacheck"> <uptodate property="pack.partest.available" @@ -1111,7 +1112,7 @@ PACKED QUICK BUILD (PACK) <fileset dir="${build-quick.dir}/classes/partest"/> </jar> </target> - + <target name="pack.pre-scalap" depends="pack.partest"> <uptodate property="pack.scalap.available" @@ -1123,10 +1124,10 @@ PACKED QUICK BUILD (PACK) <mkdir dir="${build-pack.dir}/lib"/> <jar destfile="${build-pack.dir}/lib/scalap.jar"> <fileset dir="${build-quick.dir}/classes/scalap"/> - <fileset file="${src.dir}/scalap/decoder.properties"/> + <fileset file="${src.dir}/scalap/decoder.properties"/> </jar> </target> - + <target name="pack.pre-bin" depends="pack.scalap"> <uptodate property="pack.bin.available" @@ -1170,7 +1171,7 @@ PACKED QUICK BUILD (PACK) <chmod perm="ugo+rx" file="${build-pack.dir}/bin/scalap"/> <touch file="${build-pack.dir}/bin.complete" verbose="no"/> </target> - + <target name="pack.done" depends="pack.bin"> <path id="pack.classpath"> <pathelement location="${build-pack.dir}/lib/scala-library.jar"/> @@ -1193,9 +1194,9 @@ PACKED QUICK BUILD (PACK) <!-- =========================================================================== BOOTSTRAPPING BUILD (STRAP) ============================================================================ --> - + <target name="strap.start" depends="pack.done"/> - + <target name="strap.pre-lib" depends="strap.start"> <uptodate property="strap.lib.available" targetfile="${build-strap.dir}/library.complete"> <srcfiles dir="${src.dir}"> @@ -1280,7 +1281,7 @@ BOOTSTRAPPING BUILD (STRAP) <touch file="${build-strap.dir}/library.complete" verbose="no"/> <stopwatch name="strap.lib.timer" action="total"/> </target> - + <target name="strap.pre-comp" depends="strap.lib"> <uptodate property="strap.comp.available" targetfile="${build-strap.dir}/compiler.complete"> <srcfiles dir="${src.dir}/compiler"/> @@ -1363,7 +1364,7 @@ BOOTSTRAPPING BUILD (STRAP) <scalacfork destdir="${build-strap.dir}/classes/library" compilerpathref="pack.classpath" - params="${scalac.args.all} -Xplugin-require:continuations" + params="${scalac.args.all} -Xplugin-require:continuations -P:continuations:enable" srcdir="${src.dir}/continuations/library" jvmargs="${scalacfork.jvmargs}"> <include name="**/*.scala"/> @@ -1374,7 +1375,7 @@ BOOTSTRAPPING BUILD (STRAP) <touch file="${build-strap.dir}/plugins.complete" verbose="no"/> <stopwatch name="strap.plugins.timer" action="total"/> </target> - + <target name="strap.scalacheck" depends="strap.plugins"> <mkdir dir="${build-strap.dir}/classes/scalacheck"/> <scalacfork @@ -1418,13 +1419,13 @@ BOOTSTRAPPING BUILD (STRAP) <touch file="${build-strap.dir}/scalap.complete" verbose="no"/> <stopwatch name="strap.scalap.timer" action="total"/> </target> - + <target name="strap.pre-partest" depends="strap.scalap"> <uptodate property="strap.partest.available" targetfile="${build-strap.dir}/partest.complete"> <srcfiles dir="${src.dir}/partest"/> </uptodate> </target> - + <target name="strap.partest" depends="strap.pre-partest" unless="strap.partest.available"> <stopwatch name="strap.partest.timer"/> <mkdir dir="${build-strap.dir}/classes/partest"/> @@ -1476,9 +1477,9 @@ BOOTSTRAPPING BUILD (STRAP) <!-- =========================================================================== LIBRARIES (MSIL, FJBG maybe later) ============================================================================ --> - + <target name="libs.start"/> - + <target name="libs.pre-forkjoin" depends="libs.start"> <property name="java6.home" value="/home/linuxsoft/apps/java-1.6"/> <fail message="Compiling forkjoin.jar requires java 1.6. Please set the property `java6.home` in build.properties or using `-Djava6.home=/path/to/java6`"> @@ -1494,7 +1495,7 @@ LIBRARIES (MSIL, FJBG maybe later) </srcfiles> </uptodate> </target> - + <target name="libs.forkjoin" depends="libs.pre-forkjoin" unless="libs.forkjoin.available"> <mkdir dir="${build-libs.dir}/classes/forkjoin"/> <javac @@ -1511,16 +1512,16 @@ LIBRARIES (MSIL, FJBG maybe later) </javac> <touch file="${build-libs.dir}/forkjoin.complete" verbose="no"/> </target> - + <target name="libs.pre-forkjoinpack" depends="libs.forkjoin"> </target> - + <target name="libs.forkjoinpack" depends="libs.pre-forkjoinpack" unless="libs.forkjoinpack.available"> <jar destfile="${build-libs.dir}/forkjoin.jar"> <fileset dir="${build-libs.dir}/classes/forkjoin"/> </jar> </target> - + <target name="libs.pre-msil" depends="libs.start"> <uptodate property="libs.msil.available" targetfile="${build-libs.dir}/msil.complete"> <srcfiles dir="${src.dir}/msil"> @@ -1529,7 +1530,7 @@ LIBRARIES (MSIL, FJBG maybe later) </srcfiles> </uptodate> </target> - + <target name="libs.msil" depends="libs.pre-msil" unless="libs.msil.available"> <mkdir dir="${build-libs.dir}/classes/msil"/> <javac @@ -1556,16 +1557,16 @@ LIBRARIES (MSIL, FJBG maybe later) </scalacfork> <touch file="${build-libs.dir}/msil.complete" verbose="no"/> </target> - + <target name="libs.pre-msilpack" depends="libs.msil"> </target> - + <target name="libs.msilpack" depends="libs.pre-msilpack" unless="libs.msilpack.available"> <jar destfile="${build-libs.dir}/msil.jar"> <fileset dir="${build-libs.dir}/classes/msil"/> </jar> </target> - + <target name="libs.pre-fjbg" depends="libs.start"> <uptodate property="libs.fjbg.available" targetfile="${build-libs.dir}/fjbg.complete"> <srcfiles dir="${src.dir}/fjbg"> @@ -1574,7 +1575,7 @@ LIBRARIES (MSIL, FJBG maybe later) </srcfiles> </uptodate> </target> - + <target name="libs.fjbg" depends="libs.pre-fjbg" unless="libs.fjbg.available"> <mkdir dir="${build-libs.dir}/classes/fjbg"/> <javac @@ -1588,10 +1589,10 @@ LIBRARIES (MSIL, FJBG maybe later) </javac> <touch file="${build-libs.dir}/fjbg.complete" verbose="no"/> </target> - + <target name="libs.pre-fjbgpack" depends="libs.fjbg"> </target> - + <target name="libs.fjbgpack" depends="libs.pre-fjbgpack" unless="libs.fjbgpack.available"> <jar destfile="${build-libs.dir}/fjbg.jar"> <fileset dir="${build-libs.dir}/classes/fjbg"/> @@ -1601,7 +1602,7 @@ LIBRARIES (MSIL, FJBG maybe later) <target name="libs.done" depends="libs.msilpack, libs.fjbgpack"/> <target name="forkjoin.done" depends="libs.forkjoinpack"/> - + <target name="libs.clean" depends="pack.clean"> <delete dir="${build-libs.dir}" includeemptydirs="yes" quiet="yes" failonerror="no"/> </target> @@ -1609,7 +1610,7 @@ LIBRARIES (MSIL, FJBG maybe later) <!-- =========================================================================== DOCUMENTATION ============================================================================ --> - + <target name="docs.start" depends="pack.done"> <macrodef name="doc-uptodate-check"> <attribute name="name" /> @@ -1639,7 +1640,7 @@ DOCUMENTATION <property name="scaladoc.url" value="https://github.com/scala/scala/tree/${scaladoc.git.commit}/src"/> <echo message="Scaladoc will point to ${scaladoc.url} for source files."/> </target> - + <target name="docs.pre-lib" depends="docs.start"> <doc-uptodate-check name="library" srcdir="${src.dir}"> <source-includes> @@ -1658,13 +1659,14 @@ DOCUMENTATION destdir="${build-docs.dir}/library" doctitle="Scala Standard Library API (Scaladoc)" docversion="${version.number}" - docfooter="epfl" + docfooter="epfl" docsourceurl="${scaladoc.url}€{FILE_PATH}.scala#L1" docUncompilable="${src.dir}/library-aux" sourcepath="${src.dir}" classpathref="pack.classpath" addparams="${scalac.args.all}" - docRootContent="${src.dir}/library/rootdoc.txt"> + docRootContent="${src.dir}/library/rootdoc.txt" + implicits="on" diagrams="on"> <src> <files includes="${src.dir}/actors"/> <files includes="${src.dir}/library/scala"/> @@ -1745,7 +1747,8 @@ DOCUMENTATION classpathref="pack.classpath" srcdir="${src.dir}/compiler" docRootContent="${src.dir}/compiler/rootdoc.txt" - addparams="${scalac.args.all}"> + addparams="${scalac.args.all}" + implicits="on" diagrams="on"> <include name="**/*.scala"/> </scaladoc> <touch file="${build-docs.dir}/compiler.complete" verbose="no"/> @@ -1766,7 +1769,8 @@ DOCUMENTATION sourcepath="${src.dir}" classpathref="pack.classpath" srcdir="${src.dir}/jline/src/main/java" - addparams="${scalac.args.all}"> + addparams="${scalac.args.all}" + implicits="on" diagrams="on"> <include name="**/*.scala"/> <include name="**/*.java"/> </scaladoc> @@ -1789,7 +1793,8 @@ DOCUMENTATION sourcepath="${src.dir}" classpathref="pack.classpath" srcdir="${src.dir}/scalap" - addparams="${scalac.args.all}"> + addparams="${scalac.args.all}" + implicits="on" diagrams="on"> <include name="**/*.scala"/> </scaladoc> <touch file="${build-docs.dir}/scalap.complete" verbose="no"/> @@ -1810,7 +1815,8 @@ DOCUMENTATION sourcepath="${src.dir}" classpathref="pack.classpath" srcdir="${src.dir}/partest" - addparams="${scalac.args.all}"> + addparams="${scalac.args.all}" + implicits="on" diagrams="on"> <include name="**/*.scala"/> </scaladoc> <touch file="${build-docs.dir}/partest.complete" verbose="no"/> @@ -1831,7 +1837,8 @@ DOCUMENTATION sourcepath="${src.dir}" classpathref="pack.classpath" srcdir="${src.dir}/continuations/plugin" - addparams="${scalac.args.all}"> + addparams="${scalac.args.all}" + implicits="on" diagrams="on"> <include name="**/*.scala"/> </scaladoc> <touch file="${build-docs.dir}/continuations-plugin.complete" verbose="no"/> @@ -1863,7 +1870,7 @@ BOOTRAPING TEST AND TEST SUITE <target name="test.classload" depends="pack.done"> <classloadVerify classpath="${build-pack.dir}/lib/scala-library.jar" /> </target> - + <!-- this target will run only those tests found in test/debug --> <target name="test.debug"> <antcall target="test.suite"> @@ -1937,7 +1944,7 @@ BOOTRAPING TEST AND TEST SUITE <partest showlog="yes" erroronfailed="yes" javacmd="${java.home}/bin/java" timeout="2400000" srcdir="${partest.srcdir}" - scalacopts="${scalac.args.optimise} -Xplugin-require:continuations"> + scalacopts="${scalac.args.optimise} -Xplugin-require:continuations -P:continuations:enable"> <compilerarg value="-Xpluginsdir"/> <compilerarg file="${build-quick.dir}/misc/scala-devel/plugins"/> <compilationpath> @@ -2154,7 +2161,7 @@ STABLE REFERENCE (STARR) <!-- =========================================================================== FORWARDED TARGETS FOR PACKAGING ============================================================================ --> - + <target name="distpack" depends="dist.done, docs.all"> <ant antfile="${src.dir}/build/pack.xml" target="pack-all.done" inheritall="yes" inheritrefs="yes"/> </target> @@ -2169,7 +2176,7 @@ FORWARDED TARGETS FOR PACKAGING <param name="scalac.args.optimise" value="-optimise"/> </antcall> </target> - + <target name="distpack-maven-opt" description="Builds an optimised maven distribution."> <antcall target="distpack-maven"> |