4

我编写了一个插件,它根据另一种文件类型中的一些元数据生成 java 类。我们目前有一个内部 Ant 任务来执行此操作,我只是从 Gradle 调用该 Ant 任务来进行转换。

但是,我希望能够在我的插件中做的是操纵项目 sourceSets 以添加目标目录。如何从插件中访问项目的源集?

例如,假设元数据是我通过 xjc ant 任务运行的 xsd(它不是,但这是相似的)。我将输出目录指定为项目的 ext 属性,我不想也将这个相同的值添加到 sourceSet,我希望插件为我插入它,以便编译步骤将自动包含生成的代码。

谢谢

4

1 回答 1

4

该插件在其apply方法中通过了项目。从那里开始,该过程与构建脚本非常相似,例如project.apply plugin: "java"; project.sourceSets { ... }. 请注意,源集的概念是由 Java(基本)插件添加的,因此您必须先应用它。

于 2013-10-01T17:04:29.147 回答