¿Puedo usar cygwin con script bash para actualizar el manifiesto de Android en commit?

Encontré este enlace http://sofes.miximages.com/questions/6579697/android-how-to-make-the-versioncode-update-automatically-with-every-build que contiene el siguiente código:

#!/usr/bin/env bash MANIFEST="AndroidManifest.xml" if [ -f $MANIFEST ] then LINE=$(grep -o ${MANIFEST} -e 'android:versionCode="[0-9]*"'); declare -a LINE; LINE=(`echo $LINE | tr "\"" " "`); VERSION=(${LINE[1]}); INCREMENTED=$(($VERSION+1)) sed "s/android:versionCode=\"[0-9]*\"/android:versionCode=\"${INCREMENTED}\"/" $MANIFEST > $MANIFEST.tmp && mv $MANIFEST.tmp $MANIFEST git add $MANIFEST echo "Updated android:versionCode to ${INCREMENTED} in ${MANIFEST}"; fi 

Estoy usando un TortoiseSVN con un server SVN de Windows (VisualSVN) así que me pregunto si esto podría ser puesto en un command cygwin de alguna manera para que los ganchos pre-commit en svn puedan ejecutar esto? No he usado mucho cygwin, pero estoy buscando una manera de actualizar mi nombre de versión cada vez que se crea una confirmación.

Editar: en realidad parece que puedes usar una herramienta llamada FART http://fart-it.sourceforge.net/ para encontrar y replace text, así que puedo escribir un script por lotes en el precompromiso de SVN para encontrar y Reemplace el text.

Editar # 2: FART sería más complicado, voy a intentar usar el primer script, pero replace "git add" por "svn add" y ver si funciona

Puede usar Maven (que es compatible con el desarrollo de Android ) con plugin buildnumber .

Te permite crear numbers de compilation a través de un SCM, a través de un número de compilation secuencial o mediante una timestamp. Ver la página de uso .

En la misma publicación que mencionaste, publiqué una solución diferente, porque SVN recomienda encarecidamente no cambiar el contenido de confirmación con un enlace de precompromiso, ¡puedes hacer que todo se corrompa! Su manifiesto puede mantener el mismo código de versión en svn, en su lugar debe cambiar /bin/AndroidManifest.xml, que es el que se empaqueta en el file .apk