You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何仅打印build.gradle中自定义声明的Gradle任务?

只列出Gradle自定义任务的几种方法

嘿,太懂你这种烦恼了——gradle tasks一跑出来,满屏都是Gradle自带的默认任务,找自己写的自定义任务简直像大海捞针。下面给你几个实用的解决办法:

方法1:给自定义任务分组(最推荐)

先给所有自定义任务统一分配一个专属分组,比如叫"Custom Tasks",这样就能精准过滤了。

在build.gradle里给任务加group属性:

task deployToStaging {
    group = "Custom Tasks"
    description = "Deploy app to staging environment"
    // 你的任务逻辑...
}

task generateReport {
    group = "Custom Tasks"
    description = "Generate monthly performance report"
    // 你的任务逻辑...
}

然后在命令行执行:

gradle tasks --group "Custom Tasks"

这样就只会显示你自己分组的任务,干净利落!

方法2:用Gradle命令直接过滤(无需修改build.gradle)

如果不想改脚本,直接用Gradle的Groovy API在命令行过滤任务。执行这条命令:

gradle -q "tasks.findAll { task -> 
    // 筛选条件:没有分组(自定义任务默认无group)或者分组是你自己定义的
    !task.group || task.group == 'Custom Tasks' 
}.each { println it.name }"

解释一下:

  • -q 是静默模式,避免输出多余的日志
  • tasks.findAll 遍历所有任务,只保留符合条件的自定义任务
  • 最后打印任务名称

如果你的自定义任务都没设group,也可以简化成:

gradle -q "tasks.findAll { !it.group }.each { println it.name }"

方法3:写一个专属任务来列出自定义任务

在build.gradle里添加一个专门的任务,用来筛选并打印你的自定义任务:

task listMyTasks {
    doLast {
        println "My Custom Tasks:"
        tasks.findAll { task ->
            // 排除Gradle自带的任务组,你可以根据自己用的插件调整这个列表
            !["Build", "Verification", "Help", "Documentation", "Application"].contains(task.group)
        }.each { task ->
            println "- ${task.name}: ${task.description ?: 'No description'}"
        }
    }
}

之后只要执行这条命令就能看到所有自定义任务了:

gradle listMyTasks

内容的提问来源于stack exchange,提问作者Andrii Lisun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 04:16:10