我想将Subversion修订号用作我的App版本的附加说明符。我正在使用Android Studio,因此正在使用Gradle。
我没有找到一种友好的方式来访问Subversion修订版,然后从代码中读取它。
如果可以将SVN修订版号添加到Gradle生成的BuildConfig
类中,那将是很棒的。
最佳答案
我使用此注释中的大部分代码来使其工作:
https://stackoverflow.com/a/25872141/5132130
我在gradle文件的顶部添加了以下内容:
def getSvnRevisionNr() {
description 'Get SVN revision number.'
new ByteArrayOutputStream().withStream { os ->
def result = exec {
executable = 'svnversion'
standardOutput = os
}
return '"' + os.toString().trim() + '"'
}
}
我对链接的评论所做的更改:
我想要一个可用于String的结果,所以我需要添加'“'部分和trim()
我按原样返回了它,而没有存储在方法内部的变量中
在我的buildTypes中:
buildTypes {
debug {
minifyEnabled false
buildConfigField("String", "SVN_REVISION", getSvnRevisionNr())
}
release {
minifyEnabled false
buildConfigField("String", "SVN_REVISION", getSvnRevisionNr())
}
}
然后在我的代码中,我可以使用:
BuildConfig.SVN_REVISION