如何获取git标记的计数总数

如何获取git标记的计数总数,git,gradle,android-gradle-plugin,versioning,Git,Gradle,Android Gradle Plugin,Versioning,我想获得存储库中标记计数的总数 存储库已经解决了这个问题 git = org.ajoberstar.grgit.Grgit.open() git.tag.list().size() 但它在groovy中,我想要一个渐变版本 git describe --tags $(git rev-list --tags --count) 上面的代码给出了提交的总数 到目前为止,我有以下代码片段,它获取了提交的总数 versionCode = { -> try { def st

我想获得存储库中标记计数的总数

存储库已经解决了这个问题

git = org.ajoberstar.grgit.Grgit.open()
git.tag.list().size()
但它在groovy中,我想要一个渐变版本

git describe --tags $(git rev-list --tags --count)
上面的代码给出了提交的总数

到目前为止,我有以下代码片段,它获取了提交的总数

versionCode = { ->
    try {
        def stdout = new ByteArrayOutputStream()
        exec {
            commandLine 'git', 'rev-list', '--first-parent', '--count', 'HEAD'
            standardOutput = stdout
        }
        return Integer.parseInt(stdout.toString().trim())
    }
    catch (ignored) {
        return -1
    }
}

如果您不介意使用git以外的命令,我已经引用了,但是没有正确的答案
git-tag | wc-l

我用下面的解决方案解决了这个问题@加密西瓜的答案帮助我找到了这个解决方案。然而,我更愿意接受一个比这个更好的解决方案

getVersionCode = {
    def proc = 'git tag'.execute() | 'wc -l'.execute()
    proc.waitFor()
    return proc.text
}

@Encrypted西瓜感谢您的提示。

是的,这在命令行上运行得很好,但我正在尝试将其放入gradle脚本中。让我试试,如果你有解决方案,请编辑你的答案
x=0;读取参考时,每个参考/标签的git;dox=$((x+1));echo$x;完成|尾部-n1