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é:
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