有没有一种方法可以告诉Gradle在生成的Javadocs中包含依赖项的Javadocs?

5
我有一个Java项目,使用Gradle进行管理。这个项目将由多个小型库组成,这些库是相互独立开发的,并且有一个“叶子”项目,其目标仅是依赖于每个库的最新稳定版本,将所有内容打包成fat Jar并提供聚合文档。
每个库都将作为单独的构件上传到Maven Central。
为了测试这种配置的可行性,我编写了一个非常简单的项目,它依赖于GNU Trove4j。我想能够为这个项目生成一个Javadoc,其中包括我的源代码和Trove4j的代码,但迄今为止我没有成功。
我的想法是将依赖项的源代码作为Gradle的sourceSet的一部分从Central导入,但我不知道如何做到这一点。
1个回答

10

实现这个的一种方法是将您想要记录的所有依赖项添加到单独的配置中,然后将其添加到javadoc任务中。以下是一个快速示例,其中包含几个简单库:

configurations {
    doc {
        transitive false
    }
}

dependencies {
    doc 'com.google.code.gson:gson:2.3.1:sources'
    doc 'commons-collections:commons-collections:3.2.1:sources'
}

javadoc {
    source configurations.doc.collect { zipTree(it) }
    include '**/*.java'
    options.addStringOption('Xdoclint:none', '-quiet')
}

@DaniloPianini;你好,我很感激你的回答。我有个问题:单独的配置是否意味着在一个项目中有多个build.gradle文件?如果是,请问如何/在哪里包含第二个文件,以便我可以使用这个答案。如果可能的话,以NetBeans为导向 :)谢谢 - Scaramouche
@Scaramouche,不,一个 build.gradle 文件可以拥有您需要的多个配置,这是您在 Mark's 回答中看到的“configurations”块。如果您想看到建议的解决方案实施情况,请查看炼金术士的 build.gradle 文件。 (https://github.com/AlchemistSimulator/Alchemist/blob/15760342bcd1f8d260b96c5733b2feb13f0b1f8a/alchemist/build.gradle) - Danilo Pianini

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接