Gradle如何更改第三方插件添加的任务组?

How to change the group of the tasks added by third party plugins in Gradle?

我在我的 gradle 项目中添加了一些插件,如 pmd、checkstyle 和 findbugs。但他们都属于其他人。

是否可以为他们创建单独的组?

例如Pmd 插件等中定义的任务的 pmd 组

可以配置任务的 group 属性。可以这样做:

tasks.withType(Pmd).each {task -> configure(task) {
    group = "pmd"
}}

此代码段应添加到脚本的根目录中。它获取所有类型为 Pmd 的任务,并为它们设置所有新的 pmd 组。

我有一个类似的问题导致我来到这里...我想在 Gradle 任务面板中隐藏 artifactoryPublish 任务(来自 Artifactory 插件) Eclipse(面板是 Gradle Integration Eclipse 插件的一部分)。这个面板有一个隐藏内部任务的切换按钮,默认情况下不会隐藏 artifactoryPublish 因为它的 group 属性是非空的。

我尝试使用@Stanislav 的 artifactoryPublish 代码片段,但无法正常工作(也许我没有使用正确的 type?) 不管怎样,他的回答让我找到了 TaskContainer and Task API,我可以使用它,因为我知道我想隐藏的任务的名称。

这段代码成功了:

tasks.getByName('artifactoryPublish').configure({
    group = null
});

刷新 Gradle 任务面板后,不需要的任务消失了: