标签: scaladoc

Scaladoc吞下了@throws和@note标签

在创建Scala文档时,我还使用了这里记录的@throws@note标签(Scaladoc Wiki - Tags and Annotations).

不幸的是我在生成的Scaladoc中找不到这些.

是否必须设置某些开关,考虑具体的事情或这是一个已知的问题?

顺便说一句:使用Scala 2.9.0.1 的scaladoc Ant任务也没有发出警告.

编辑: BTW2并澄清:我不是指@throws注释

@throws(classOf[RuntimeException])
def dispatch: Nothing = throw new RuntimeException
Run Code Online (Sandbox Code Playgroud)

这是在注释部分记录的,def@throwsScaladoc 的标签就像

/** @throws RuntimeException
 */
def dispatch: Nothing = throw new RuntimeException
Run Code Online (Sandbox Code Playgroud)

scala scaladoc

5
推荐指数
1
解决办法
1664
查看次数

maven中scaladoc的多模块聚合

我有一个包含5个模块的父项目.我试图弄清楚如何将模块级scaladoc聚合成一个有凝聚力的站点.任何帮助将非常感激.

scala maven-3 scaladoc scala-maven-plugin

5
推荐指数
1
解决办法
605
查看次数

如何使用doc任务生成scaladoc后运行bash脚本?

我有一个简短的Bash脚本,可以对我的Scaladoc注释进行查找和替换,以生成指向第三方库的外部文档的链接.我希望每次使用doc任务生成Scaladocs时都会运行此脚本.

我怎样才能做到这一点?

sbt scaladoc

5
推荐指数
1
解决办法
630
查看次数

标准库的SBT Scaladoc配置

我想将ScalaDoc设置为从SBT链接到标准库.我正在使用0.12.4,但我很快就会切换到0.13.此外,我想通过使用0.13的支持使设置变得简单.

最好的选择是自动映射0.13autoAPIMappings:

//Requires SBT 0.13. However, automatic mapping does not work for the standard library.
autoAPIMappings := true
Run Code Online (Sandbox Code Playgroud)

scala-library应该支持它,因为它的POMinfo.apiURL,并且这就是SBT读取.

但是,这不起作用.既没有String也没有GenTraversable超链接.last表明没有选项添加到scaladoc参数.

所以:

  1. 我该怎么autoAPIMappings办?
  2. 有替代品吗?
  3. 我没有观察到这个功能有效,但也许我只需要另一个套装info.apiUrl.想到任何包裹?谷歌似乎没有帮助,如何查询具有某些属性的maven包,甚至如何在poms上进行全文搜索并不明显.find ~/.m2 ~/.ivy2 -name '*.pom' -type f|xargs grep info.apiUrl在我的2G本地缓存中找不到任何结果.

(这个问题似乎是SBT Scaladoc配置的重复,但是它用于更新配置和不同的SBT版本,所以问题是不同的;此外,现有的答案显示了一个弃​​用的解决方案).

scala sbt scaladoc

5
推荐指数
1
解决办法
1335
查看次数

我可以使用sbt的`apiMappings`设置来管理依赖项吗?

我想用sbt生成的ScalaDoc链接到外部库,在sbt 0.13中我们autoAPIMappings应该为声明它们的库添加这些链接apiURL.但实际上,我使用的库中都没有提供它们的pom/ivy元数据,我怀疑其中一些库永远不会这样做.

apiMappings设置应该只是帮助,但它被键入Map[File, URL],因此适合为非托管依赖项设置doc urls.托管依赖项被声明为实例,sbt.ModuleID不能直接插入该映射中.

我可以以某种方式apiMappings使用将URL与托管依赖关联的东西填充设置吗?

一个相关的问题是:sbt是否提供了File从a 获得a的惯用方法ModuleID?我想我可以尝试评估一些类路径并返回Files尝试将它们映射到ModuleIDs但我希望有更简单的东西.

注意:这与/sf/ask/1312308581/有关,但该问题的不同之处在于链接到标准库的scaladoc,有一个众所周知的File scalaInstance.value.libraryJar,在这种情况下不是这种情况.

sbt scaladoc

5
推荐指数
1
解决办法
591
查看次数

定义 scaladoc 宏以在伴随对象中重用

我试图了解scaladoc 宏 是如何工作的。例如

/** $DESCR
  *
  * @define DESCR
  * A `Consumer` simplifies resource management...
  *
  * @define KEY
  * the key type
  *
  * @define VALUE
  * the value type
  */
object Consumer {
  /** Creates a new consumer
    *
    * @tparam A       $KEY
    * @tparam B       $VALUE
    */
  def apply[A, B](): Consumer[A, B] = ???
}

/** $DESCR
  *
  * @tparam A $KEY
  * @tparam B $VALUE
  */
trait Consumer[-A, +B]
Run Code Online (Sandbox Code Playgroud)

我的印象是,这应该生成一个文档,其中包含 trait 和伴随对象的描述A …

scala scaladoc

5
推荐指数
0
解决办法
273
查看次数

你如何缩进scaladoc的代码块

我写了这样的评论:

/** Blah blah blah.
  *
  * {{{
  * class MyAppServlet extends ControllerServlet {
  *   routes.publishWithReflection("/main", MainController)
  *   routes.publishWithReflection("/foo", FooController)
  * }
  * }}}
  *
  * Blah blah blah
  */
Run Code Online (Sandbox Code Playgroud)

我希望代码缩进,但这是生成的HTML的样子:

在此输入图像描述

这是一个错误,还是......?我正在使用Scala 2.11.0.

scala scaladoc scala-2.11

5
推荐指数
1
解决办法
273
查看次数

如何在模式定义中记录val

我想为我班级的每个val和def创建ScalaDoc条目.问题是vals位于模式定义中,并且不知道如何使用/** */语法.

例:

class C(id: String) {
   val (part1, part2) = {
         .....
         (expr1, expr2)
   }
}
Run Code Online (Sandbox Code Playgroud)

我如何记录part1part2

在阅读有关ScalaDoc的文档之前,我已阅读过.

scala scaladoc

5
推荐指数
1
解决办法
1634
查看次数

Scaladoc链接到注释块中的类的问题

我可能缺少明显的东西,但是我无法让Scaladoc链接到类-仅链接到伴随对象。考虑这些例子。

这很好用:

/** Returns a [[scala.List]] (also known as [[scala.collection.immutable.List]]). */
Run Code Online (Sandbox Code Playgroud)

虽然这不会链接,但以Could not find any member to link for "play.api.libs.json.JsObject"警告记录:

/** Seems [[play.api.libs.json.JsObject]] is invalid. */
Run Code Online (Sandbox Code Playgroud)

但是,这(考虑了消歧语法链接:

/** Seems [[play.api.libs.json.JsObject$]] is liked. */
Run Code Online (Sandbox Code Playgroud)

我已经在SBT中整理了外部API映射,并生成了功能签名文档,这些文档正确链接到外部站点,因此,我(相当)确信这与我的问题无关。

我要去哪里错了?(或者这是一个错误吗?)

scala sbt scaladoc

5
推荐指数
0
解决办法
380
查看次数

如何在 scaladocs 中的另一个对象内链接变量?

要链接另一个类,我可以使用[[package.Classname]]. 链接由定义的函数def也可以,但尝试链接变量不起作用。

我试过的:

object Foo {

  val BAR = 0
}

object Example {

  /**
  * Does the thing with [[Foo.BAR]]
  */
  def doTheThing(): Unit = {

  }
}
Run Code Online (Sandbox Code Playgroud)

我也尝试过[[Foo#BAR]](来自另一篇文章)而不是[[Foo.BAR]],但也失败了。

在 Scaladoc 中链接变量的正确方法是什么?

scala sbt scaladoc

5
推荐指数
1
解决办法
104
查看次数

标签 统计

scaladoc ×10

scala ×8

sbt ×5

maven-3 ×1

scala-2.11 ×1

scala-maven-plugin ×1