Gradle自定义任务配置

时间:2014-08-25 06:25:43

标签: gradle

我正在使用Gradle插件,该插件具有一个自定义任务,其中包含两个我想使用扩展类初始化的成员变量。我正在扩展插件类,如下所示:

class CustomPlugin implements Plugin<Project> {

  @Override void apply(Project project) {
    def extension = project.extensions.create("Custom", CustomExtension)

    project.task("doTask", type: CustomTask, {
      group = "Awesome"
      description = "Runs a custom routine"
      filePath = extension.filePath
      name = extension.name
    })
  }
}

这是初始化扩展DefaultTask的Task的正确方法吗?我试图理解是否在CustomPlugin中完成初始化,或者在CustomTask中是否使用:

 @TaskAction void removeUnusedResources() {
    String filePath = project.Custom.lintXmlFilePath
    String name = project.Custom.ignoreResFiles

    // Proceed with the task action
}

只有第二种方法似乎对我有用。我在其他插件中注意到的一个常见模式是,任务倾向于使用project.task("taskName") << { // task actions here}在插件中定义,而不是创建扩展DefaultTask的单独类。什么是正确的惯例,我在哪里可以找到更多信息?

0 个答案:

没有答案