@@ -1389,20 +1389,33 @@ LIBRARIES (MSIL, FJBG maybe later)
13891389DOCUMENTATION
13901390============================================================================ -->
13911391
1392- <target name =" docs.start" depends =" pack.done" />
1392+ <target name =" docs.start" depends =" pack.done" >
1393+ <macrodef name =" doc-uptodate-check" >
1394+ <attribute name =" name" />
1395+ <attribute name =" srcdir" />
1396+ <element name =" source-includes" optional =" yes" />
1397+ <sequential >
1398+ <uptodate property =" docs.@{ name } .available" targetfile =" ${ build-docs.dir } /@{ name } .complete" >
1399+ <srcfiles dir =" @{ srcdir } " >
1400+ <source-includes />
1401+ </srcfiles >
1402+ </uptodate >
1403+ </sequential >
1404+ </macrodef >
1405+ </target >
13931406
13941407 <target name =" docs.pre-lib" depends =" docs.start" >
1395- <uptodate property = " docs.lib.available " targetfile =" ${ build-docs .dir} /library.complete " >
1396- <srcfiles dir = " ${ src.dir } " >
1408+ <doc- uptodate-check name = " library " srcdir =" ${ src .dir} " >
1409+ <source-includes >
13971410 <include name =" library/**" />
13981411 <include name =" dbc/**" />
13991412 <include name =" actors/**" />
14001413 <include name =" swing/**" />
1401- </srcfiles >
1402- </uptodate >
1414+ </source-includes >
1415+ </doc- uptodate-check >
14031416 </target >
14041417
1405- <target name =" docs.lib" depends =" docs.pre-lib" unless =" docs.lib .available" >
1418+ <target name =" docs.lib" depends =" docs.pre-lib" unless =" docs.library .available" >
14061419 <stopwatch name =" docs.lib.timer" />
14071420 <mkdir dir =" ${ build-docs.dir } /library" />
14081421 <scaladoc
@@ -1435,12 +1448,10 @@ DOCUMENTATION
14351448 </target >
14361449
14371450 <target name =" docs.pre-man" depends =" docs.lib" >
1438- <uptodate property =" docs.man.available" targetfile =" ${ build-docs.dir } /manual.complete" >
1439- <srcfiles dir =" ${ src.dir } /manual" />
1440- </uptodate >
1451+ <doc-uptodate-check name =" manual" srcdir =" ${ src.dir } /manual" />
14411452 </target >
14421453
1443- <target name =" docs.manmaker" depends =" docs.pre-man" unless =" docs.man .available" >
1454+ <target name =" docs.manmaker" depends =" docs.pre-man" unless =" docs.manual .available" >
14441455 <mkdir dir =" ${ build.dir } /manmaker/classes" />
14451456 <scalac
14461457 destdir =" ${ build.dir } /manmaker/classes"
@@ -1454,7 +1465,7 @@ DOCUMENTATION
14541465 </path >
14551466 </target >
14561467
1457- <target name =" docs.man" depends =" docs.manmaker" unless =" docs.man .available" >
1468+ <target name =" docs.man" depends =" docs.manmaker" unless =" docs.manual .available" >
14581469 <mkdir dir =" ${ build-docs.dir } /manual/man/man1" />
14591470 <mkdir dir =" ${ build-docs.dir } /manual/html" />
14601471 <mkdir dir =" ${ build-docs.dir } /manual/genman/man1" />
@@ -1481,12 +1492,10 @@ DOCUMENTATION
14811492 </target >
14821493
14831494 <target name =" docs.pre-comp" depends =" docs.man" >
1484- <uptodate property =" docs.comp.available" targetfile =" ${ build-docs.dir } /compiler.complete" >
1485- <srcfiles dir =" ${ src.dir } /compiler" />
1486- </uptodate >
1495+ <doc-uptodate-check name =" compiler" srcdir =" ${ src.dir } /compiler" />
14871496 </target >
14881497
1489- <target name =" docs.comp" depends =" docs.pre-comp" unless =" docs.comp .available" >
1498+ <target name =" docs.comp" depends =" docs.pre-comp" unless =" docs.compiler .available" >
14901499 <stopwatch name =" docs.comp.timer" />
14911500 <mkdir dir =" ${ build-docs.dir } /compiler" />
14921501 <scaladoc
@@ -1503,8 +1512,92 @@ DOCUMENTATION
15031512 <stopwatch name =" docs.comp.timer" action =" total" />
15041513 </target >
15051514
1515+ <target name =" docs.pre-jline" depends =" docs.start" >
1516+ <doc-uptodate-check name =" jline" srcdir =" ${ src.dir } /jline/src/main/java" />
1517+ </target >
1518+
1519+ <target name =" docs.jline" depends =" docs.pre-jline" unless =" docs.jline.available" >
1520+ <stopwatch name =" docs.jline.timer" />
1521+ <mkdir dir =" ${ build-docs.dir } /jline" />
1522+ <scaladoc
1523+ destdir =" ${ build-docs.dir } /jline"
1524+ doctitle =" Scala JLine"
1525+ docversion =" ${ version.number } "
1526+ sourcepath =" ${ src.dir } "
1527+ classpathref =" pack.classpath"
1528+ srcdir =" ${ src.dir } /jline/src/main/java" >
1529+ <include name =" **/*.scala" />
1530+ <include name =" **/*.java" />
1531+ </scaladoc >
1532+ <touch file =" ${ build-docs.dir } /jline.complete" verbose =" no" />
1533+ <stopwatch name =" docs.jline.timer" action =" total" />
1534+ </target >
1535+
1536+ <target name =" docs.pre-scalap" depends =" docs.start" >
1537+ <doc-uptodate-check name =" scalap" srcdir =" ${ src.dir } /scalap" />
1538+ </target >
1539+
1540+ <target name =" docs.scalap" depends =" docs.pre-scalap" unless =" docs.scalap.available" >
1541+ <stopwatch name =" docs.scalap.timer" />
1542+ <mkdir dir =" ${ build-docs.dir } /scalap" />
1543+ <scaladoc
1544+ destdir =" ${ build-docs.dir } /scalap"
1545+ doctitle =" Scalap"
1546+ docversion =" ${ version.number } "
1547+ docsourceurl =" https://lampsvn.epfl.ch/trac/scala/browser/scala/trunk/src/€{FILE_PATH}.scala#L1"
1548+ sourcepath =" ${ src.dir } "
1549+ classpathref =" pack.classpath"
1550+ srcdir =" ${ src.dir } /scalap" >
1551+ <include name =" **/*.scala" />
1552+ </scaladoc >
1553+ <touch file =" ${ build-docs.dir } /scalap.complete" verbose =" no" />
1554+ <stopwatch name =" docs.scalap.timer" action =" total" />
1555+ </target >
1556+
1557+ <target name =" docs.pre-partest" depends =" docs.start" >
1558+ <doc-uptodate-check name =" partest" srcdir =" ${ src.dir } /partest" />
1559+ </target >
1560+
1561+ <target name =" docs.partest" depends =" docs.pre-partest" unless =" docs.partest.available" >
1562+ <stopwatch name =" docs.partest.timer" />
1563+ <mkdir dir =" ${ build-docs.dir } /scala-partest" />
1564+ <scaladoc
1565+ destdir =" ${ build-docs.dir } /scala-partest"
1566+ doctitle =" Scala Parallel Testing Framework"
1567+ docversion =" ${ version.number } "
1568+ sourcepath =" ${ src.dir } "
1569+ classpathref =" pack.classpath"
1570+ srcdir =" ${ src.dir } /partest" >
1571+ <include name =" **/*.scala" />
1572+ </scaladoc >
1573+ <touch file =" ${ build-docs.dir } /partest.complete" verbose =" no" />
1574+ <stopwatch name =" docs.partest.timer" action =" total" />
1575+ </target >
1576+
1577+ <target name =" docs.pre-continuations-plugin" depends =" docs.start" >
1578+ <doc-uptodate-check name =" continuations-plugin" srcdir =" ${ src.dir } /continuations/plugin" />
1579+ </target >
1580+
1581+ <target name =" docs.continuations-plugin" depends =" docs.pre-continuations-plugin" unless =" docs.continuations-plugin.available" >
1582+ <stopwatch name =" docs.continuations-plugin.timer" />
1583+ <mkdir dir =" ${ build-docs.dir } /continuations-plugin" />
1584+ <scaladoc
1585+ destdir =" ${ build-docs.dir } /continuations-plugin"
1586+ doctitle =" Delimited Continuations Compiler Plugin"
1587+ docversion =" ${ version.number } "
1588+ sourcepath =" ${ src.dir } "
1589+ classpathref =" pack.classpath"
1590+ srcdir =" ${ src.dir } /continuations/plugin" >
1591+ <include name =" **/*.scala" />
1592+ </scaladoc >
1593+ <touch file =" ${ build-docs.dir } /continuations-plugin.complete" verbose =" no" />
1594+ <stopwatch name =" docs.continuations-plugin.timer" action =" total" />
1595+ </target >
1596+
15061597 <target name =" docs.done" depends =" docs.man" />
15071598
1599+ <target name =" docs.all" depends =" docs.jline, docs.comp, docs.man, docs.lib, docs.scalap, docs.partest, docs.continuations-plugin" />
1600+
15081601 <target name =" docs.clean" >
15091602 <delete dir =" ${ build-docs.dir } " includeemptydirs =" yes" quiet =" yes" failonerror =" no" />
15101603 <delete dir =" ${ build.dir } /manmaker" includeemptydirs =" yes" quiet =" yes" failonerror =" no" />
@@ -1774,17 +1867,28 @@ STABLE REFERENCE (STARR)
17741867FORWARDED TARGETS FOR PACKAGING
17751868============================================================================ -->
17761869
1777- <target name =" distpack" depends =" dist.done" >
1870+ <target name =" distpack" depends =" dist.done, docs.all " >
17781871 <ant antfile =" ${ src.dir } /build/pack.xml" target =" pack-all.done" inheritall =" yes" inheritrefs =" yes" />
17791872 </target >
17801873
1874+ <target name =" distpack-maven" depends =" dist.done, docs.all" >
1875+ <ant antfile =" ${ src.dir } /build/pack.xml" target =" pack-maven.done" inheritall =" yes" inheritrefs =" yes" />
1876+ </target >
1877+
17811878 <target name =" distpack-opt"
17821879 description =" Builds an optimised distribution." >
17831880 <antcall target =" distpack" >
17841881 <param name =" scalac.args.optimise" value =" -optimise" />
17851882 </antcall >
17861883 </target >
17871884
1885+ <target name =" distpack-maven-opt"
1886+ description =" Builds an optimised maven distribution." >
1887+ <antcall target =" distpack-maven" >
1888+ <param name =" scalac.args.optimise" value =" -optimise" />
1889+ </antcall >
1890+ </target >
1891+
17881892 <!-- Used by the scala-installer script -->
17891893 <target name =" allallclean" depends =" all.clean" />
17901894
0 commit comments