[scala] scaladocs for 2.8 nightly builds broken

View: New views
3 Messages — Rating Filter:   Alert me  

[scala] scaladocs for 2.8 nightly builds broken

by daniel mahler :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Th scaladocs for 2.8 nightly build do not conatain interface and cross
references eg:

http://www.scala-lang.org/archives/downloads/distrib/files/nightly/docs/library/index.html

just says:

+++++++++++++++++++++++
scala
 class Array
 [source: scala/Array.scala]
final class Array
This class represents polymorphic arrays. Array[T] is Scala's
representation for Java's T[].
Author
Martin Odersky
Version
1.0
++++++++++++++++++++++++

cheers
Daniel

Re: [scala] scaladocs for 2.8 nightly builds broken

by Antonio Cunei-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Daniel,

For the past couple of days the nightly APIs have been incomplete; that is
due to a change to the code causing scaladoc to stop prematurely, and due
to the nightly script erroneously copying the incomplete files.

The scaladoc problem has been addressed in the meantime, and the nightly
script modified so that incomplete files are no longer pushed to the
website, hence leaving the last good set online.

Tonight the build will probably fail due to trunk bring broken, but all
should be back to normal within a day or two. In the meantime, you can
download and unpack this version:

http://www.scala-lang.org/archives/downloads/distrib/files/nightly/distributions/scala-2.8.0.r19367-b20091102023355-devel-docs.tgz

Sorry for the inconvenience!
Toni


On Wed, November 4, 2009 10:32 pm, Daniel Mahler wrote:

> Th scaladocs for 2.8 nightly build do not conatain interface and cross
> references eg:
>
> http://www.scala-lang.org/archives/downloads/distrib/files/nightly/docs/library/index.html
>
> just says:
>
> +++++++++++++++++++++++
> scala
>  class Array
>  [source: scala/Array.scala]
> final class Array
> This class represents polymorphic arrays. Array[T] is Scala's
> representation for Java's T[].
> Author
> Martin Odersky
> Version
> 1.0
> ++++++++++++++++++++++++
>
> cheers
> Daniel
>



Re: [scala] scaladocs for 2.8 nightly builds broken

by Bob Jamison-4 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

  On 11/4/2009 7:42 PM, Antonio Cunei wrote:

> Daniel,
>
> For the past couple of days the nightly APIs have been incomplete; that is
> due to a change to the code causing scaladoc to stop prematurely, and due
> to the nightly script erroneously copying the incomplete files.
>
> The scaladoc problem has been addressed in the meantime, and the nightly
> script modified so that incomplete files are no longer pushed to the
> website, hence leaving the last good set online.
>
> Tonight the build will probably fail due to trunk bring broken, but all
> should be back to normal within a day or two. In the meantime, you can
> download and unpack this version:
>
> http://www.scala-lang.org/archives/downloads/distrib/files/nightly/distributions/scala-2.8.0.r19367-b20091102023355-devel-docs.tgz
>
> Sorry for the inconvenience!
> Toni

On Windows, the scalacfork task was broken, once again to the limits on
cmd.exe's
command line buffer (32k).  This happened before, a few months ago, and
some kind
soul fixed it.

I hacked on the ScalacFork code a bit, so that the settings and file
names are sent to
a temp file, and java is invoked as  "java @file".  Now the command line
cannot
be overflowed.  Are there other places this should be done?

Here is the hack, and the diff against trunk.  It is lines 88-107.


bob

===== SNIP ====
       if (argfile.isDefined)
         {
         for (arg <- settings.toArgs)
           java.createArg().setValue(arg)
         for (file <- includedFiles)
           java.createArg().setFile(file)
         java.createArg().setValue("@"+ argfile.get)
         }
       else
         {
         //dump the arguments to a file and do  "java @file"
         val tempArgFile = File.createTempFile("scalacfork","")
         val outf = new FileWriter(tempArgFile)
         for (arg <- settings.toArgs)
           { outf.write(arg) ; outf.write(" ") }
         for (file <- includedFiles)
           { outf.write(file.getPath) ; outf.write(" ") }
         outf.close
         java.createArg.setValue("@"+ tempArgFile.getAbsolutePath)
         }



==== DIFF ====
Index: src/compiler/scala/tools/ant/sabbus/ScalacFork.scala
===================================================================
--- src/compiler/scala/tools/ant/sabbus/ScalacFork.scala    (revision 19403)
+++ src/compiler/scala/tools/ant/sabbus/ScalacFork.scala    (working copy)
@@ -11,6 +11,7 @@
  package scala.tools.ant.sabbus

  import java.io.File
+import java.io.FileWriter
  import org.apache.tools.ant.Project
  import org.apache.tools.ant.taskdefs.{MatchingTask, Java}
  import org.apache.tools.ant.util.{GlobPatternMapper, SourceFileScanner}
@@ -84,15 +85,28 @@
        java.setClasspath(compilerPath.get)
        java.setClassname("scala.tools.nsc.Main")
        if (!timeout.isEmpty) java.setTimeout(timeout.get)
-      for (arg <- settings.toArgs)
-        java.createArg().setValue(arg)
-      for (file <- includedFiles)
-        java.createArg().setFile(file)
-      for (af <- argfile)
-        java.createArg().setValue("@"+ af)
-
+      if (argfile.isDefined)
+        {
+        for (arg <- settings.toArgs)
+          java.createArg().setValue(arg)
+        for (file <- includedFiles)
+          java.createArg().setFile(file)
+        java.createArg().setValue("@"+ argfile.get)
+        }
+      else
+        {
+        //dump the arguments to a file and do  "java @file"
+        val tempArgFile = File.createTempFile("scalacfork","")
+        val outf = new FileWriter(tempArgFile)
+        for (arg <- settings.toArgs)
+          { outf.write(arg) ; outf.write(" ") }
+        for (file <- includedFiles)
+          { outf.write(file.getPath) ; outf.write(" ") }
+        outf.close
+        java.createArg.setValue("@"+ tempArgFile.getAbsolutePath)
+        }
        log(java.getCommandLine.getCommandline.mkString("", " ", ""),
Project.MSG_VERBOSE)
-      val res = java.executeJava()
+      val res = java.executeJava
        if (failOnError && res != 0)
          error("Compilation failed because of an internal compiler error;"+
                " see the error output for details.")