通过 build.gradle 任务在项目目录中创建版本.txt文件



提前为我的无知道歉。我对gradle很陌生。

我的目标是在我的build.gradle文件中有一些任务,其中每当我在项目根目录中运行gradle终端命令时,都会在我的项目目录中创建一个文件"version.txt"。此"版本.txt"文件需要包含生成的版本元数据,例如:

Version: 1.0 Revision: 1z7g30jFHYjl42L9fh0pqzmsQkF Buildtime: 2016-06-14 07:16:37 EST Application-name: foobarbaz app

(^修订版将是 HEAD 的 git 提交哈希)

我尝试重用以下资源中的代码片段,但无济于事,可能是因为这些资源已过时:http://mrhaki.blogspot.com/2015/04/gradle-goodness-use-git-commit-id-in.htmlhttp://mrhaki.blogspot.com/2010/10/gradle-goodness-add-incremental-build.html

我使用的是 gradle 版本 2.14(这是最新版本)。

任何帮助和/或见解将不胜感激。谢谢!

你提到的例子几乎是正确的。通过一些小的调整,它可以按预期工作:

import java.text.SimpleDateFormat
import org.ajoberstar.grgit.Grgit
plugins {
    id "org.ajoberstar.grgit" version "1.7.2"
}
version = 1.0
task versionTxt()  {
    doLast {
        new File(projectDir, "version.txt").text = """
Version: $version
Revision: ${grgit.head().abbreviatedId}
Buildtime: ${new SimpleDateFormat("dd-MM-yyyy HH:mm:ss").format(new Date())}
Application-name: foobarbaz app
"""
    }
}

运行gradle versionTxt以获取所需的输出。

相关内容

  • 没有找到相关文章

最新更新