Agregue el número de versión SVN de compilation en Android Studio

Me gustaría utilizar el número de revisión de Subversion como un especificador adicional de la versión de mi aplicación. Estoy trabajando con Android Studio, por lo tanto, estoy usando Gradle.
No encontré una manera amigable de acceder a la revisión de Subversion y luego leerla desde el código.

Sería fantástico si el número de revisión SVN se pudiera agregar a la class BuildConfig generada por Gradle.

Lo hice funcionar usando principalmente el código de este comentario: http://sofes.miximages.com/a/25872141/5132130

Agregué lo siguiente a la parte superior del file gradle:

 def getSvnRevisionNr() { description 'Get SVN revision number.' new ByteArrayOutputStream().withStream { os -> def result = exec { executable = 'svnversion' standardOutput = os } return '"' + os.toString().trim() + '"' } } 

Los cambios que hice en relación con el comentario que vinculé:

  • Quería un resultado que pudiera usarse para el String, así que necesitaba agregar las partes '' '' y el recorte ()
  • Lo devolví tal como está, sin almacenarlo en el método interior variable

Y en mi buildTypes:

 buildTypes { debug { minifyEnabled false buildConfigField("String", "SVN_REVISION", getSvnRevisionNr()) } release { minifyEnabled false buildConfigField("String", "SVN_REVISION", getSvnRevisionNr()) } } 

Luego, en mi código, puedo acceder usando:

 BuildConfig.SVN_REVISION