He hecho esto agregando un objetivo de compilación extra, por lo que el código de versión se incrementa al compilar el proyecto, no cuando se compromete con SVN. Estas son instrucciones para hacer que esto funcione en IntelliJ IDEA.
En primer lugar, añadir un nuevo archivo en la raíz de su proyecto llamado svn-revision.build.xml
con el siguiente contenido:
<project default="svn-revision">
<target name="svn-revision">
<exec executable="sh" outputproperty="revision">
<arg value="-c" />
<arg value="svnversion | sed -e 's/^[^:]*://;s/[A-Za-z]//'" />
</exec>
<echo>Revision (app): ${revision}</echo>
<replaceregexp file="AndroidManifest.xml" match='android:versionCode="([^".]+)(\.[^"]*)?"' replace='android:versionCode="${revision}"' />
</target>
</project>
Luego, en el menú ir a View > Tools > Ant Build
, a continuación, pulse el botón pequeño +
en la ventana y añadir el archivo recién creado. Al hacer clic en el botón verde 'ejecutar' en la ventana Ant Build ejecutará el script de inmediato. Para que el script se ejecute cada vez que compile, deberá establecer el objetivo 'svn-revision' como un destino predeterminado.
Alguna idea sobre cómo podría uno hacer esto si estuvieran usando Eclipse? – Felix
También me gustaría saber cómo hacerlo usando Intellij IDEA – barmaley
@barmaley: IDEA tiene un soporte similar para ejecutar scripts hormiga, ver [Integración Intellij And Maven] (http: //www.jetbrains.com/idea/features/ant_maven.html) –