如何link一个Gradle项目到它的依赖的Javadoc?

How to link a Gradle project to the Javadoc of its dependencies?

我有一个 Gradle 项目,其中包含一个 Android 应用程序模块。我无法弄清楚如何将 Android 应用程序模块 link 放入其依赖项的 Javadoc 中。

我在项目的根级别 build.gradle 文件以及 Android 应用程序模块的 build.gradle 文件中指定了以下内容:

apply plugin: 'idea'

idea {
    module {
        downloadJavadoc = true
        downloadSources = true
    }
}

通过检查我机器上的 ~/.gradle/caches/modules-2/files-2.1 文件夹,我可以看到确实已经下载了依赖项的 Javadoc。

然而,当我检查项目中 .idea/libraries 文件夹中的 xml 文件时,我发现 JAVADOC 标记始终为空。 CLASSESSOURCES 标签是非空的,当然 link 对 类 和来源是正确的。我怎样才能让 IntelliJ 也达到 link 到 Javadoc(这样当我在依赖项的 类 或方法之一上按 F1 时,我会看到 Javadoc)?

后记 1: 我试过按 "Refresh all Gradle projects" 按钮和按 "Invalidate caches / Restart..."。这没什么区别。

后记 2: 我在 IntelliJ IDEA Ultimate 2016.3 和 Android Studio 2.2.3 上都试过了。同样的问题。

后记 3: 我知道我可以查看 Javadoc 以了解已发布源代码的应用程序的依赖项。问题是我的一些应用程序的依赖项发布了 Javadoc 但没有发布 Sources。

您可以在 Project Structure | Libraries | Specify Documentation URL 中手动指定 JavaDoc 位置。这将填充 .idea/libraries 目录中的 JAVADOC 元素。您可以将它指向 url 或下载 Javadoc jar。

为了让下载的 jar 运行,我需要解压缩 jar 并将 IntelliJ url 指向包含解压缩的 javadoc 的目录。生成的 url 看起来像 file:///tmp/junit,其中解压缩的 javadoc 位于 junit 目录中。

这里有一个很好的答案Attaching additional javadoc in Intellij IDEA