让Gradle包含整个依赖树中的所有源代码



Gradle是一个优秀的依赖管理器。然而,似乎没有一个明显的方法可以让Java插件从整个依赖树中拉出源构件。

使用GWT构建需要.java源文件,而不是.class字节码文件。

当在我自己的Gradle项目中声明依赖关系时,我可以定义一个自定义的Gradle 配置并扩展Jar任务类型来生成一个自定义的源工件。从父项目中,我可以轻松地以松耦合的方式依赖子项目的源。

但是,如果我的子项目然后依赖于一些非源依赖从mavenCentral() ?如何让父项目从这些可传递的依赖项(整个树)中提取源,假设它们是可用的?

目前还没有一种简单的方法来解析配置的源jar。(你基本上必须重新实现什么eclipseidea插件做)。下一个Gradle版本(1.12)将提供一个新的工件解析API,这将使这更容易。

最新更新