【问题标题】:How to use classes from main project in buildSrc如何在 buildSrc 中使用主项目中的类
【发布时间】:2016-02-23 23:14:39
【问题描述】:

我有一个简单的单一项目构建文件。 接下来我在 buildSrc 中有一个自定义插件。

从我的插件(在 buildSrc 中)我想使用主项目中的类。

这可能吗?

编辑

我想要做的是生成一些静态页面。 此生成过程基于将数据文件加载到内存中。 我要加载到主项目的域类部分的数据。 但是这些域类不是 buildSrc 的一部分。 如果我能够重复使用它们会很好。

【问题讨论】:

  • 但是.. 为什么?我怀疑这可能是XY question?您能否详细说明您最终想要实现的目标?
  • @RaGe 我已经更新了问题。

标签: gradle gradle-plugin


【解决方案1】:

你可以用 gradle 做任何你想做的事。但是,我看不出如何在不破坏 gradle 的基本性质的情况下做到这一点。根据定义,您的主要构建依赖于 buildSrc。如果您使 buildSrc 依赖于主构建,那么这将是循环的。但是,话虽如此,您可以做一些非常讨厌的事情,例如使用 buildSrc 中的构建任务所依赖的复制任务将 jar 库复制到构建源中。

不建议这样做。

【讨论】:

  • 作为一个思想实验,您还可以:启动普通的 gradle,构建常规源代码,然后将工件用作新的子 gradle 进程的 buildSrc。也就是说,我和你在一起,这可能是个坏主意。
  • 是的,我知道主要构建依赖于 buildSrc。所以可能最好将逻辑从插件移动到主项目(例如在工具包中),然后使用 Gradle 构建中的 JavaExec 来执行这些。
  • 这就是我会做的。
猜你喜欢
  • 2013-04-02
  • 2021-12-06
  • 1970-01-01
  • 2020-06-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多