如何将 Gradle 构建 currentVersion 写入文件

Ind*_*tta 5 version gradle jenkins

我正在尝试执行以下步骤:

我有一个build.gradle为我的项目配置的文件。我想为我的项目执行 currentVersion 任务以获取构建生成的当前版本,然后将其保存到文本文件中。我将使用 jenkins 运行此构建,并使用该文本文件获取版本号,以从 Nexus 存储库下载正确的工件。

我觉得以下任何一种方法都可以帮助我实现这一目标:

  1. 有没有办法通过 Jenkins 只运行我的项目的 currentVersion 任务并将结果存储在文本文件中?
  2. 有没有办法通过我的构建脚本运行 currentVersion 任务并将输出写入文本文件?

mko*_*bit 5

如果您想利用任务输入/输出缓存,您可以在您的 中执行类似以下操作build.gradle

tasks.create('currentVersion') {
  outputs.file('versionFile.txt')
  inputs.property('version', project.version)

  doLast {
    project.file('versionFile.txt') << project.version
  }
}
Run Code Online (Sandbox Code Playgroud)

然后,您可以像这样运行任务./gradlew currentVersion,输出将转到您要写入的文件。下次运行任务时,仅当输入或输出发生更改时才会更新该文件。