How To Get Svn Revision In Gradle For Android?
I have field (svn revision) in resource. How can I get svn revision in my field using by Gradle, that not to do that by my hands?
Solution 1:
You could modify the following solution, explained here, which prints out the current SVN revision.
// File: build.gradle
task svninfo << {
newByteArrayOutputStream().withStream { os ->
defresult= exec {
executable = 'svn'
args = ['info']
standardOutput = os
}
defoutputAsString= os.toString()
defmatchLastChangedRev= outputAsString =~ /Last Changed Rev: (\d+)/
println "Latest Changed Revision #: ${matchLastChangedRev[0][1]}"
}
}
// Example output for svn info:// Path: .// URL: http://svn.host/svn/project// Repository Root: http://svn.host/svn/// Repository UUID: 9de3ae54-a9c2-4644-a1a1-838cb992bc8e// Revision: 33// Node Kind: directory// Schedule: normal// Last Changed Author: mrhaki// Last Changed Rev: 33// Last Changed Date: 2010-09-03 14:25:41 +0200 (Fri, 03 Sep 2010)
Solution 2:
Try this
task svnversion {
description 'Get SVN revision number.'
new ByteArrayOutputStream().withStream { os ->
def result = exec {
executable = 'svnversion'
standardOutput = os
}
ext.revid = os.toString()
}
}
You can test it with
task printsvn(description: 'Demonstrate calling svnversion task.') {
println 'Implementation-Build #' + svnversion.revid
}
The results
$ gradle printsvn :printsvn Implementation-Build #3071
BUILD SUCCESSFUL
Total time: 0.776 secs
Post a Comment for "How To Get Svn Revision In Gradle For Android?"