diff options
author | Josh Suereth <joshua.suereth@gmail.com> | 2012-02-20 14:08:25 -0500 |
---|---|---|
committer | Josh Suereth <joshua.suereth@gmail.com> | 2012-02-20 14:08:25 -0500 |
commit | e843545b6a824d558f13a8d44266b43097343d53 (patch) | |
tree | 56a324976ea4959d3cac9a9834944d6b47783283 | |
parent | a6a9684f5ba5df146be1f24bd170e97f0b2208ce (diff) | |
download | scala-e843545b6a824d558f13a8d44266b43097343d53.tar.gz scala-e843545b6a824d558f13a8d44266b43097343d53.tar.bz2 scala-e843545b6a824d558f13a8d44266b43097343d53.zip |
Javadoc + Source jar generation is now complete for maven deployment.
-rw-r--r-- | build.xml | 144 | ||||
-rw-r--r-- | src/build/maven/maven-deploy.xml | 35 | ||||
-rw-r--r-- | src/build/pack.xml | 35 |
3 files changed, 166 insertions, 48 deletions
@@ -1510,20 +1510,33 @@ LIBRARIES (MSIL, FJBG maybe later) DOCUMENTATION ============================================================================ --> - <target name="docs.start" depends="pack.done"/> + <target name="docs.start" depends="pack.done"> + <macrodef name="doc-uptodate-check"> + <attribute name="name" /> + <attribute name="srcdir" /> + <element name="source-includes" optional="yes" /> + <sequential> + <uptodate property="docs.@{name}.available" targetfile="${build-docs.dir}/@{name}.complete"> + <srcfiles dir="@{srcdir}"> + <source-includes/> + </srcfiles> + </uptodate> + </sequential> + </macrodef> + </target> <target name="docs.pre-lib" depends="docs.start"> - <uptodate property="docs.lib.available" targetfile="${build-docs.dir}/library.complete"> - <srcfiles dir="${src.dir}"> + <doc-uptodate-check name="library" srcdir="${src.dir}"> + <source-includes> <include name="library/**"/> <include name="dbc/**"/> <include name="actors/**"/> <include name="swing/**"/> - </srcfiles> - </uptodate> + </source-includes> + </doc-uptodate-check> </target> - <target name="docs.lib" depends="docs.pre-lib" unless="docs.lib.available"> + <target name="docs.lib" depends="docs.pre-lib" unless="docs.library.available"> <stopwatch name="docs.lib.timer"/> <mkdir dir="${build-docs.dir}/library"/> <scaladoc @@ -1558,12 +1571,10 @@ DOCUMENTATION </target> <target name="docs.pre-man" depends="docs.lib"> - <uptodate property="docs.man.available" targetfile="${build-docs.dir}/manual.complete"> - <srcfiles dir="${src.dir}/manual"/> - </uptodate> + <doc-uptodate-check name="manual" srcdir="${src.dir}/manual"/> </target> - <target name="docs.manmaker" depends="docs.pre-man" unless="docs.man.available"> + <target name="docs.manmaker" depends="docs.pre-man" unless="docs.manual.available"> <mkdir dir="${build.dir}/manmaker/classes"/> <scalac destdir="${build.dir}/manmaker/classes" @@ -1577,7 +1588,7 @@ DOCUMENTATION </path> </target> - <target name="docs.man" depends="docs.manmaker" unless="docs.man.available"> + <target name="docs.man" depends="docs.manmaker" unless="docs.manual.available"> <mkdir dir="${build-docs.dir}/manual/man/man1"/> <mkdir dir="${build-docs.dir}/manual/html"/> <mkdir dir="${build-docs.dir}/manual/genman/man1"/> @@ -1604,12 +1615,10 @@ DOCUMENTATION </target> <target name="docs.pre-comp" depends="docs.man"> - <uptodate property="docs.comp.available" targetfile="${build-docs.dir}/compiler.complete"> - <srcfiles dir="${src.dir}/compiler"/> - </uptodate> + <doc-uptodate-check name="compiler" srcdir="${src.dir}/compiler"/> </target> - <target name="docs.comp" depends="docs.pre-comp" unless="docs.comp.available"> + <target name="docs.comp" depends="docs.pre-comp" unless="docs.compiler.available"> <stopwatch name="docs.comp.timer"/> <mkdir dir="${build-docs.dir}/compiler"/> <scaladoc @@ -1620,16 +1629,104 @@ DOCUMENTATION sourcepath="${src.dir}" classpathref="pack.classpath" srcdir="${src.dir}/compiler" - docRootContent="${src.dir}/compiler/rootdoc.txt"> - addparams="${scalac.args.all}" + docRootContent="${src.dir}/compiler/rootdoc.txt" + addparams="${scalac.args.all}"> <include name="**/*.scala"/> </scaladoc> <touch file="${build-docs.dir}/compiler.complete" verbose="no"/> <stopwatch name="docs.comp.timer" action="total"/> </target> + <target name="docs.pre-jline" depends="docs.start"> + <doc-uptodate-check name="jline" srcdir="${src.dir}/jline/src/main/java" /> + </target> + + <target name="docs.jline" depends="docs.pre-jline" unless="docs.jline.available"> + <stopwatch name="docs.jline.timer"/> + <mkdir dir="${build-docs.dir}/jline"/> + <scaladoc + destdir="${build-docs.dir}/jline" + doctitle="Scala JLine" + docversion="${version.number}" + sourcepath="${src.dir}" + classpathref="pack.classpath" + srcdir="${src.dir}/jline/src/main/java" + addparams="${scalac.args.all}"> + <include name="**/*.scala"/> + <include name="**/*.java"/> + </scaladoc> + <touch file="${build-docs.dir}/jline.complete" verbose="no"/> + <stopwatch name="docs.jline.timer" action="total"/> + </target> + + <target name="docs.pre-scalap" depends="docs.start"> + <doc-uptodate-check name="scalap" srcdir="${src.dir}/scalap" /> + </target> + + <target name="docs.scalap" depends="docs.pre-scalap" unless="docs.scalap.available"> + <stopwatch name="docs.scalap.timer"/> + <mkdir dir="${build-docs.dir}/scalap"/> + <scaladoc + destdir="${build-docs.dir}/scalap" + doctitle="Scalap" + docversion="${version.number}" + docsourceurl="https://lampsvn.epfl.ch/trac/scala/browser/scala/trunk/src/€{FILE_PATH}.scala#L1" + sourcepath="${src.dir}" + classpathref="pack.classpath" + srcdir="${src.dir}/scalap" + addparams="${scalac.args.all}"> + <include name="**/*.scala"/> + </scaladoc> + <touch file="${build-docs.dir}/scalap.complete" verbose="no"/> + <stopwatch name="docs.scalap.timer" action="total"/> + </target> + + <target name="docs.pre-partest" depends="docs.start"> + <doc-uptodate-check name="partest" srcdir="${src.dir}/partest" /> + </target> + + <target name="docs.partest" depends="docs.pre-partest" unless="docs.partest.available"> + <stopwatch name="docs.partest.timer"/> + <mkdir dir="${build-docs.dir}/scala-partest"/> + <scaladoc + destdir="${build-docs.dir}/scala-partest" + doctitle="Scala Parallel Testing Framework" + docversion="${version.number}" + sourcepath="${src.dir}" + classpathref="pack.classpath" + srcdir="${src.dir}/partest" + addparams="${scalac.args.all}"> + <include name="**/*.scala"/> + </scaladoc> + <touch file="${build-docs.dir}/partest.complete" verbose="no"/> + <stopwatch name="docs.partest.timer" action="total"/> + </target> + + <target name="docs.pre-continuations-plugin" depends="docs.start"> + <doc-uptodate-check name="continuations-plugin" srcdir="${src.dir}/continuations/plugin" /> + </target> + + <target name="docs.continuations-plugin" depends="docs.pre-continuations-plugin" unless="docs.continuations-plugin.available"> + <stopwatch name="docs.continuations-plugin.timer"/> + <mkdir dir="${build-docs.dir}/continuations-plugin"/> + <scaladoc + destdir="${build-docs.dir}/continuations-plugin" + doctitle="Delimited Continuations Compiler Plugin" + docversion="${version.number}" + sourcepath="${src.dir}" + classpathref="pack.classpath" + srcdir="${src.dir}/continuations/plugin" + addparams="${scalac.args.all}"> + <include name="**/*.scala"/> + </scaladoc> + <touch file="${build-docs.dir}/continuations-plugin.complete" verbose="no"/> + <stopwatch name="docs.continuations-plugin.timer" action="total"/> + </target> + <target name="docs.done" depends="docs.man"/> + <target name="docs.all" depends="docs.jline, docs.comp, docs.man, docs.lib, docs.scalap, docs.partest, docs.continuations-plugin"/> + <target name="docs.clean"> <delete dir="${build-docs.dir}" includeemptydirs="yes" quiet="yes" failonerror="no"/> <delete dir="${build.dir}/manmaker" includeemptydirs="yes" quiet="yes" failonerror="no"/> @@ -1921,10 +2018,14 @@ STABLE REFERENCE (STARR) FORWARDED TARGETS FOR PACKAGING ============================================================================ --> - <target name="distpack" depends="dist.done"> + <target name="distpack" depends="dist.done, docs.all"> <ant antfile="${src.dir}/build/pack.xml" target="pack-all.done" inheritall="yes" inheritrefs="yes"/> </target> + <target name="distpack-maven" depends="dist.done, docs.all"> + <ant antfile="${src.dir}/build/pack.xml" target="pack-maven.done" inheritall="yes" inheritrefs="yes"/> + </target> + <target name="distpack-opt" description="Builds an optimised distribution."> <antcall target="distpack"> @@ -1932,6 +2033,13 @@ FORWARDED TARGETS FOR PACKAGING </antcall> </target> + <target name="distpack-maven-opt" + description="Builds an optimised maven distribution."> + <antcall target="distpack-maven"> + <param name="scalac.args.optimise" value="-optimise"/> + </antcall> + </target> + <!-- Used by the scala-installer script --> <target name="allallclean" depends="all.clean"/> diff --git a/src/build/maven/maven-deploy.xml b/src/build/maven/maven-deploy.xml index 679f45ab54..1137481a59 100644 --- a/src/build/maven/maven-deploy.xml +++ b/src/build/maven/maven-deploy.xml @@ -57,13 +57,6 @@ <artifact:pom id="plugin-@{name}.pom" file="plugins/@{name}/@{name}-pom-fixed.xml" /> </sequential> </macrodef> - <!-- Simply attaching documentation --> - <macrodef name="attach-doc"> - <attribute name="name" /> - <sequential> - <artifact:attach type="jar" file="@{name}/@{name}-docs.jar" classifier="javadoc" /> - </sequential> - </macrodef> </target> <!-- macros for local deployment --> <target name="deploy.local.init" depends="init.maven"> @@ -79,6 +72,7 @@ <artifact:pom refid="@{name}.pom" /> <artifact:localRepository path="@{repository}" id="${repository.credentials.id}" /> <artifact:attach type="jar" file="@{name}/@{name}-src.jar" classifier="sources" /> + <artifact:attach type="jar" file="@{name}/@{name}-docs.jar" classifier="javadoc" /> <extra-attachments /> </artifact:install> </sequential> @@ -94,6 +88,8 @@ <make-pom-plugin name="@{name}" version="@{version}" /> <artifact:install file="plugins/@{name}/@{name}.jar"> <artifact:pom refid="plugin-@{name}.pom" /> + <artifact:attach type="jar" file="plugins/@{name}/@{name}-src.jar" classifier="sources" /> + <artifact:attach type="jar" file="plugins/@{name}/@{name}-docs.jar" classifier="javadoc" /> <artifact:localRepository path="@{repository}" id="${repository.credentials.id}" /> <extra-attachments /> </artifact:install> @@ -106,24 +102,14 @@ <attribute name="repository" /> <attribute name="version" /> <sequential> - <deploy-local name="scala-library" version="@{version}" repository="@{repository}"> - <extra-attachments> - <artifact:attach type="jar" file="scala-library/scala-library-docs.jar" classifier="javadoc" /> - </extra-attachments> - </deploy-local> - <deploy-local name="jline" version="@{version}" repository="@{repository}"/> + <deploy-local name="scala-library" version="@{version}" repository="@{repository}" /> <deploy-local name="scala-compiler" version="@{version}" repository="@{repository}" /> + <deploy-local-plugin name="continuations" version="@{version}" repository="@{repository}"/> <deploy-local name="scala-dbc" version="@{version}" repository="@{repository}" /> <deploy-local name="scala-swing" version="@{version}" repository="@{repository}"/> <deploy-local name="scalap" version="@{version}" repository="@{repository}"/> <deploy-local name="scala-partest" version="@{version}" repository="@{repository}"/> - <deploy-local-plugin name="continuations" version="@{version}" repository="@{repository}"/> - <!-- scala swing api is included in main library api - <extra-attachments> - <artifact:attach type="jar" file="scala-swing/scala-swing-docs.jar" classifier="javadoc" /> - </extra-attachments> - </deploy-local> - --> + <deploy-local name="jline" version="@{version}" repository="@{repository}"/> </sequential> </macrodef> </target> @@ -142,6 +128,7 @@ <artifact:pom refid="@{name}.pom" /> <artifact:remoteRepository url="@{repository}" id="${repository.credentials.id}" /> <artifact:attach type="jar" file="@{name}/@{name}-src.jar" classifier="sources" /> + <artifact:attach type="jar" file="@{name}/@{name}-doc.jar" classifier="javadoc" /> <extra-attachments /> </artifact:deploy> </sequential> @@ -158,6 +145,8 @@ <make-pom-plugin name="@{name}" version="@{version}" /> <artifact:deploy file="plugins/@{name}/@{name}.jar" settingsFile="${settings.file}"> <artifact:pom refid="plugin-@{name}.pom" /> + <artifact:attach type="jar" file="plugins/@{name}/@{name}-src.jar" classifier="sources" /> + <artifact:attach type="jar" file="plugins/@{name}/@{name}-docs.jar" classifier="javadoc" /> <artifact:remoteRepository url="@{repository}" id="${repository.credentials.id}" /> <extra-attachments /> </artifact:deploy> @@ -181,12 +170,6 @@ <deploy-remote name="scalap" version="@{version}" repository="@{repository}"/> <deploy-remote name="scala-partest" version="@{version}" repository="@{repository}"/> <deploy-remote-plugin name="continuations" version="@{version}" repository="@{repository}"/> - <!-- scala swing api is included in main library api - <extra-attachments> - <artifact:attach type="jar" file="scala-swing/scala-swing-docs.jar" classifier="javadoc" /> - </extra-attachments> - </deploy-remote> - --> </sequential> </macrodef> </target> diff --git a/src/build/pack.xml b/src/build/pack.xml index d022ac3f05..90aec8e25b 100644 --- a/src/build/pack.xml +++ b/src/build/pack.xml @@ -251,23 +251,50 @@ MAIN DISTRIBUTION SBAZ </target> <target name="pack-maven.srcs" depends="pack-maven.libs"> + <!-- Add missing src jars. --> <jar destfile="${dists.dir}/maven/${version.number}/jline/jline-src.jar" basedir="${src.dir}/jline/src/main/java"> <include name="**/*"/> </jar> + + + <!-- Continuations plugin --> + <jar destfile="${dists.dir}/maven/${version.number}/plugins/continuations/continuations-src.jar" + basedir="${src.dir}/continuations/plugin"> + <include name="**/*"/> + </jar> </target> <target name="pack-maven.docs" depends="pack-maven.libs, pack-maven.plugins"> + <jar destfile="${dists.dir}/maven/${version.number}/jline/jline-docs.jar" + basedir="${build-docs.dir}/jline"> + <include name="**/*"/> + </jar> <jar destfile="${dists.dir}/maven/${version.number}/scala-library/scala-library-docs.jar" basedir="${build-docs.dir}/library"> <include name="**/*"/> </jar> - <!-- scala-swing api is included in main library api - <jar destfile="${dists.dir}/maven/${version.number}/scala-swing/scala-swing-docs.jar" - basedir="${build-docs.dir}/swing"> + <jar destfile="${dists.dir}/maven/${version.number}/scala-compiler/scala-compiler-docs.jar" + basedir="${build-docs.dir}/compiler"> + <include name="**/*"/> + </jar> + <jar destfile="${dists.dir}/maven/${version.number}/scalap/scalap-docs.jar" + basedir="${build-docs.dir}/scalap"> + <include name="**/*"/> + </jar> + <jar destfile="${dists.dir}/maven/${version.number}/scala-partest/scala-partest-docs.jar" + basedir="${build-docs.dir}/scala-partest"> + <include name="**/*"/> + </jar> + <jar destfile="${dists.dir}/maven/${version.number}/plugins/continuations/continuations-docs.jar" + basedir="${build-docs.dir}/continuations-plugin"> <include name="**/*"/> </jar> - --> + <!-- TODO - Scala swing, dbc should maybe have thier own jar, but creating it is SLOW. --> + <copy tofile="${dists.dir}/maven/${version.number}/scala-swing/scala-swing-docs.jar" + file="${dists.dir}/maven/${version.number}/scala-library/scala-library-docs.jar"/> + <copy tofile="${dists.dir}/maven/${version.number}/scala-dbc/scala-dbc-docs.jar" + file="${dists.dir}/maven/${version.number}/scala-library/scala-library-docs.jar"/> </target> <target name="pack-maven.latest.unix" depends="pack-maven.docs" unless="os.win"> |