创建一个在gradle中的所有其他任务之前运行的任务

编程入门 行业动态 更新时间:2024-10-25 00:26:41
本文介绍了创建一个在gradle中的所有其他任务之前运行的任务的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我需要创建一个初始化任务,该任务在执行时将在所有其他任务之前运行.

I need to create an initialize task that will run before all other task when I execute it.

task A { println "Task A" } task initializer { println "initialized" }

如果我执行gradle -q A,输出将是:

If I execute gradle -q A, the output will be:

>initialized >Task A

现在,如果我要添加:

task B { println "Task B" }

执行gradle -q B,我得到:

>initialized >Task B

所以我执行哪个任务都没有关系,它总是首先被初始化".

So it doesn't matter which task I execute, it always get "initialized" first.

推荐答案

您可以使每个名称不是"initializer"的Task都依赖于"initializer"任务.例如:

You can make every Task who's name is NOT 'initializer' depend on the 'initializer' task. Eg:

task initializer { doLast { println "initializer" } } task task1() { doLast { println "task1" } } // make every other task depend on 'initializer' // matching() and all() are "live" so any tasks declared after this line will also depend on 'initializer' tasks.matching { it.name != 'initializer' }.all { Task task -> task.dependsOn initializer } task task2() { doLast { println "task2" } }

或者您可以添加 BuildListener (或使用一个便利方法,例如: Gradle.buildStarted(...))

Or you could add a BuildListener (or use one of the convenience methods eg: Gradle.buildStarted(...))

更多推荐

创建一个在gradle中的所有其他任务之前运行的任务

本文发布于:2023-11-24 05:33:26,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1624117.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:创建一个   gradle

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!