Skip to content

Commit bb0237e

Browse files
committed
Merged doc fixes from 2.10.x into 2.9.x
Conflicts: src/build/maven/maven-deploy.xml
1 parent 39c5cdb commit bb0237e

File tree

3 files changed

+159
-46
lines changed

3 files changed

+159
-46
lines changed

build.xml

Lines changed: 120 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1389,20 +1389,33 @@ LIBRARIES (MSIL, FJBG maybe later)
13891389
DOCUMENTATION
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)
17741867
FORWARDED 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

src/build/maven/maven-deploy.xml

Lines changed: 8 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -58,13 +58,6 @@
5858
<artifact:pom id="plugin-@{name}.pom" file="plugins/@{name}/@{name}-pom-fixed.xml" />
5959
</sequential>
6060
</macrodef>
61-
<!-- Simply attaching documentation -->
62-
<macrodef name="attach-doc">
63-
<attribute name="name" />
64-
<sequential>
65-
<artifact:attach type="jar" file="@{name}/@{name}-docs.jar" classifier="javadoc" />
66-
</sequential>
67-
</macrodef>
6861
</target>
6962
<!-- macros for local deployment -->
7063
<target name="deploy.local.init" depends="init.maven">
@@ -80,6 +73,7 @@
8073
<artifact:pom refid="@{name}.pom" />
8174
<artifact:localRepository path="@{repository}" id="${repository.credentials.id}" />
8275
<artifact:attach type="jar" file="@{name}/@{name}-src.jar" classifier="sources" />
76+
<artifact:attach type="jar" file="@{name}/@{name}-docs.jar" classifier="javadoc" />
8377
<extra-attachments />
8478
</artifact:install>
8579
</sequential>
@@ -95,6 +89,8 @@
9589
<make-pom-plugin name="@{name}" version="@{version}" />
9690
<artifact:install file="plugins/@{name}/@{name}.jar">
9791
<artifact:pom refid="plugin-@{name}.pom" />
92+
<artifact:attach type="jar" file="plugins/@{name}/@{name}-src.jar" classifier="sources" />
93+
<artifact:attach type="jar" file="plugins/@{name}/@{name}-docs.jar" classifier="javadoc" />
9894
<artifact:localRepository path="@{repository}" id="${repository.credentials.id}" />
9995
<extra-attachments />
10096
</artifact:install>
@@ -107,24 +103,14 @@
107103
<attribute name="repository" />
108104
<attribute name="version" />
109105
<sequential>
110-
<deploy-local name="scala-library" version="@{version}" repository="@{repository}">
111-
<extra-attachments>
112-
<artifact:attach type="jar" file="scala-library/scala-library-docs.jar" classifier="javadoc" />
113-
</extra-attachments>
114-
</deploy-local>
115-
<deploy-local name="jline" version="@{version}" repository="@{repository}"/>
106+
<deploy-local name="scala-library" version="@{version}" repository="@{repository}" />
116107
<deploy-local name="scala-compiler" version="@{version}" repository="@{repository}" />
108+
<deploy-local-plugin name="continuations" version="@{version}" repository="@{repository}"/>
117109
<deploy-local name="scala-dbc" version="@{version}" repository="@{repository}" />
118110
<deploy-local name="scala-swing" version="@{version}" repository="@{repository}"/>
119111
<deploy-local name="scalap" version="@{version}" repository="@{repository}"/>
120112
<deploy-local name="scala-partest" version="@{version}" repository="@{repository}"/>
121-
<deploy-local-plugin name="continuations" version="@{version}" repository="@{repository}"/>
122-
<!-- scala swing api is included in main library api
123-
<extra-attachments>
124-
<artifact:attach type="jar" file="scala-swing/scala-swing-docs.jar" classifier="javadoc" />
125-
</extra-attachments>
126-
</deploy-local>
127-
-->
113+
<deploy-local name="jline" version="@{version}" repository="@{repository}"/>
128114
</sequential>
129115
</macrodef>
130116
</target>
@@ -159,6 +145,8 @@
159145
<make-pom-plugin name="@{name}" version="@{version}" />
160146
<artifact:deploy file="plugins/@{name}/@{name}.jar" settingsFile="${settings.file}">
161147
<artifact:pom refid="plugin-@{name}.pom" />
148+
<artifact:attach type="jar" file="plugins/@{name}/@{name}-src.jar" classifier="sources" />
149+
<artifact:attach type="jar" file="plugins/@{name}/@{name}-docs.jar" classifier="javadoc" />
162150
<artifact:remoteRepository url="@{repository}" id="${repository.credentials.id}" />
163151
<extra-attachments />
164152
</artifact:deploy>
@@ -182,12 +170,6 @@
182170
<deploy-remote name="scalap" version="@{version}" repository="@{repository}"/>
183171
<deploy-remote name="scala-partest" version="@{version}" repository="@{repository}"/>
184172
<deploy-remote-plugin name="continuations" version="@{version}" repository="@{repository}"/>
185-
<!-- scala swing api is included in main library api
186-
<extra-attachments>
187-
<artifact:attach type="jar" file="scala-swing/scala-swing-docs.jar" classifier="javadoc" />
188-
</extra-attachments>
189-
</deploy-remote>
190-
-->
191173
</sequential>
192174
</macrodef>
193175

src/build/pack.xml

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -245,23 +245,50 @@ MAIN DISTRIBUTION SBAZ
245245
</target>
246246

247247
<target name="pack-maven.srcs" depends="pack-maven.libs">
248+
<!-- Add missing src jars. -->
248249
<jar destfile="${dists.dir}/maven/${version.number}/jline/jline-src.jar"
249250
basedir="${src.dir}/jline/src/main/java">
250251
<include name="**/*"/>
251252
</jar>
253+
254+
255+
<!-- Continuations plugin -->
256+
<jar destfile="${dists.dir}/maven/${version.number}/plugins/continuations/continuations-src.jar"
257+
basedir="${src.dir}/continuations/plugin">
258+
<include name="**/*"/>
259+
</jar>
252260
</target>
253261

254262
<target name="pack-maven.docs" depends="pack-maven.libs, pack-maven.plugins">
263+
<jar destfile="${dists.dir}/maven/${version.number}/jline/jline-docs.jar"
264+
basedir="${build-docs.dir}/jline">
265+
<include name="**/*"/>
266+
</jar>
255267
<jar destfile="${dists.dir}/maven/${version.number}/scala-library/scala-library-docs.jar"
256268
basedir="${build-docs.dir}/library">
257269
<include name="**/*"/>
258270
</jar>
259-
<!-- scala-swing api is included in main library api
260-
<jar destfile="${dists.dir}/maven/${version.number}/scala-swing/scala-swing-docs.jar"
261-
basedir="${build-docs.dir}/swing">
271+
<jar destfile="${dists.dir}/maven/${version.number}/scala-compiler/scala-compiler-docs.jar"
272+
basedir="${build-docs.dir}/compiler">
273+
<include name="**/*"/>
274+
</jar>
275+
<jar destfile="${dists.dir}/maven/${version.number}/scalap/scalap-docs.jar"
276+
basedir="${build-docs.dir}/scalap">
277+
<include name="**/*"/>
278+
</jar>
279+
<jar destfile="${dists.dir}/maven/${version.number}/scala-partest/scala-partest-docs.jar"
280+
basedir="${build-docs.dir}/scala-partest">
281+
<include name="**/*"/>
282+
</jar>
283+
<jar destfile="${dists.dir}/maven/${version.number}/plugins/continuations/continuations-docs.jar"
284+
basedir="${build-docs.dir}/continuations-plugin">
262285
<include name="**/*"/>
263286
</jar>
264-
-->
287+
<!-- TODO - Scala swing, dbc should maybe have thier own jar, but creating it is SLOW. -->
288+
<copy tofile="${dists.dir}/maven/${version.number}/scala-swing/scala-swing-docs.jar"
289+
file="${dists.dir}/maven/${version.number}/scala-library/scala-library-docs.jar"/>
290+
<copy tofile="${dists.dir}/maven/${version.number}/scala-dbc/scala-dbc-docs.jar"
291+
file="${dists.dir}/maven/${version.number}/scala-library/scala-library-docs.jar"/>
265292
</target>
266293

267294
<target name="pack-maven.latest.unix" depends="pack-maven.docs" unless="os.win">

0 commit comments

Comments
 (0)