【问题标题】:How can a custom gradle task be ran from the body of a build如何从构建的主体运行自定义 gradle 任务
【发布时间】:2015-12-09 12:05:59
【问题描述】:

我有以下自定义插件:

class GenPlugin implements Plugin<Project> {
   void apply(Project project) {
      project.task("gen", type:GenTask)
   }
}

这会将以下任务添加到项目中:

class GenTask extends DefaultTask {

   @TaskAction
   def gen() {
      println "hello"
   }
}

groovy 代码打包并部署到本地 maven 存储库,然后我在构建中引用依赖项:

apply plugin: 'gen'

我可以使用gradle gen 成功运行任务,如何在我的 build.gradle 中运行此任务而不将其指定为参数?

【问题讨论】:

    标签: groovy gradle


    【解决方案1】:

    你可以使用defaultTasks,看看docs

    强烈建议不要从 gradle 本身运行任务。你可以这样做:

    project.tasks.gen.execute()
    

    但是我不建议你这样做。相反,您可以定义对从命令行运行的任务的依赖关系。如果调用此任务,例如afterGen,然后使用:

    afterGen.dependsOn gen
    

    【讨论】:

    • 如何从 build.gradle 运行任务?我不想将其指定为默认值,因为我需要在生命周期的特定阶段运行它
    猜你喜欢
    • 2015-12-28
    • 2019-06-07
    • 2015-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多