【问题标题】:How do I turn off in console gradle build message like 'BUILD SUCCESSFUL'?如何在“BUILD SUCCESSFUL”之类的控制台 gradle 构建消息中关闭?
【发布时间】:2025-11-24 07:40:02
【问题描述】:

我想将项目版本导出到环境中

by tag='gradle printVersion'`

printVersion 是 gradle 任务

task exportVersion {
    println project.version
}

它将0.0.1-SNAPSHOT打印到控制台,我的$tag env设置为0.0.1-SNAPSHOT:exportVersionUP-TO-DATEBUILD SUCCESSFUL

如何让 gradle 包含 :exportVersion, BUILD SUCCESSFUL 到控制台?

【问题讨论】:

  • 我不确定这是否可行,而且感觉像是一个常见问题的奇怪解决方案。我是否正确理解您只是想获取用于其他过程的版本号?您可以将其写入文件吗?或者,假设您正在调用变量tag,如果您只是打算使用它在您的版本控制系统中创建一个标签,为什么不让您的 gradle 任务这样做呢? gradle release plugin 甚至可能对您尝试做的事情有用。
  • 是的,这很奇怪,我可以创建一个 Maven 上传任务,但我没有公司 nexus 用户名/密码。这将作为 mvn 部署文件在 Jenkins 服务器上运行。

标签: gradle


【解决方案1】:

首先,您的任务配置错误。每次运行 gradle 时都会打印这种方式版本。为避免这种情况,您应该添加一个操作:<<doLast。要抑制 gradle 输出,请使用 -q 开关:

>cat build.gradle 
task exportVersion << {
    println project.version
}

>gradle -q exportVersion
unspecified

附: @DaveyDaveDave 是对的,不应该这样处理。

【讨论】:

  • 这正是我想要的,现在我的标签是 0.0.1-SNAPSHOT 和 -q 选项。
  • 添加 --console plain 似乎也有帮助。