summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEugene Vigdorchik <eugene.vigdorchik@gmail.com>2012-12-18 18:20:37 +0400
committerEugene Vigdorchik <eugene.vigdorchik@gmail.com>2013-01-06 17:22:25 +0400
commit103a478dfc1b3f918e0643333635e3d8d254a9a0 (patch)
tree01a35abb84c155fe8647c3ac38b501ec4c6d0305 /src
parent14b804556e3522042413a1d5e689d3e4db1e1635 (diff)
downloadscala-103a478dfc1b3f918e0643333635e3d8d254a9a0.tar.gz
scala-103a478dfc1b3f918e0643333635e3d8d254a9a0.tar.bz2
scala-103a478dfc1b3f918e0643333635e3d8d254a9a0.zip
SI-6803: do not use java.net.URI, even more so incorrectly.
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/tools/nsc/doc/Settings.scala20
-rw-r--r--src/manual/scala/man1/scaladoc.scala4
2 files changed, 14 insertions, 10 deletions
diff --git a/src/compiler/scala/tools/nsc/doc/Settings.scala b/src/compiler/scala/tools/nsc/doc/Settings.scala
index 10a0d8d879..02630a99b2 100644
--- a/src/compiler/scala/tools/nsc/doc/Settings.scala
+++ b/src/compiler/scala/tools/nsc/doc/Settings.scala
@@ -7,8 +7,6 @@ package scala.tools.nsc
package doc
import java.io.File
-import java.net.URI
-import java.lang.System
import scala.language.postfixOps
/** An extended version of compiler settings, with additional Scaladoc-specific options.
@@ -72,10 +70,10 @@ class Settings(error: String => Unit, val printMsg: String => Unit = println(_))
""
)
- val docExternalUris = MultiStringSetting (
- "-doc-external-uris",
+ val docExternalDoc = MultiStringSetting (
+ "-doc-external-doc",
"external-doc",
- "comma-separated list of file://classpath_entry_path#doc_URL URIs for external dependencies"
+ "comma-separated list of classpath_entry_path#doc_URL pairs describing external dependencies."
)
val useStupidTypes = BooleanSetting (
@@ -265,9 +263,15 @@ class Settings(error: String => Unit, val printMsg: String => Unit = println(_))
map ++ (pkgs map (_ -> url))
}
- lazy val extUrlMapping: Map[String, String] = docExternalUris.value map { s =>
- val uri = new URI(s)
- uri.getSchemeSpecificPart -> appendIndex(uri.getFragment)
+ lazy val extUrlMapping: Map[String, String] = docExternalDoc.value flatMap { s =>
+ val idx = s.indexOf("#")
+ if (idx > 0) {
+ val (first, last) = s.splitAt(idx)
+ Some(new File(first).getAbsolutePath -> appendIndex(last.substring(1)))
+ } else {
+ error(s"Illegal -doc-external-doc option; expected a pair with '#' separator, found: '$s'")
+ None
+ }
} toMap
/**
diff --git a/src/manual/scala/man1/scaladoc.scala b/src/manual/scala/man1/scaladoc.scala
index 34c58b6b8e..1737c5efa0 100644
--- a/src/manual/scala/man1/scaladoc.scala
+++ b/src/manual/scala/man1/scaladoc.scala
@@ -77,8 +77,8 @@ object scaladoc extends Command {
CmdOption("doc-source-url", Argument("url")),
"Define a URL to be concatenated with source locations for link to source files."),
Definition(
- CmdOption("doc-external-uris", Argument("external-doc")),
- "Define comma-separated list of file://classpath_entry_path#doc_URL URIs for linking to external dependencies."))),
+ CmdOption("doc-external-doc", Argument("external-doc")),
+ "Define a comma-separated list of classpath_entry_path#doc_URL pairs describing external dependencies."))),
Section("Compiler Options",
DefinitionList(