IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Script Ant et subversion


Sujet :

Android

  1. #1
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut Script Ant et subversion
    Bonjour à tous,

    J'essai de modifier dynamiquement la valeur de versionCode du manifest. Je veux qu'elle soit égale à la valeur de la révision de mon projet sur subversion.

    Après moulte recherche j'ai compris qu'il fallait utiliser un script ant. J'ai réussi produire quelque chose qui fonctionne :

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <target name="update-svnversion">
    	<exec outputproperty="build.svnversion" executable="svnversion">
    			 <arg line="-n -c" />
     
    			 <redirector>
    				<outputfilterchain>
    					<tokenfilter>
    						<replaceregex pattern="[0-9]+\:" replace="" />
    						<replaceregex pattern="[A-Z]+" replace="" />
    					</tokenfilter>
    				</outputfilterchain>
    			</redirector>
    	</exec>
    	<property name="match.start" value="android:versionCode=&quot;"/>
    	<property name="match.end" value="&quot;"/>
    	<replaceregexp 
    		file="AndroidManifest.xml"
    		match="${match.start}.*${match.end}"
    		replace="${match.start}${build.svnversion}${match.end}">
    	</replaceregexp>
    	<echo level="info">Version = ${build.svnversion}</echo>
    </target>

    j'ai placer le build.xml contenant ce xml à la racine , puis dans :
    Properties => builders j'ai ajouté un builder ant qui utilise ce script.

    Dans l'onglet targets pour Auto Build je choisi la target présenté si dessus.

    A chaque build du projet , le manifest est bien mis à jour avec le dernier numéro de révision du projet.

    Mon souçis c'est que du coup AndroidManifest.xml n'est jamais à jour par rapport à mon dépot :
    • Premier build => codeVersion = 1
    • Je commit => revision du dépot à 2 (manifest sur le dépot à 1)
    • Second build => manifest passe à 2 donc plus synchro avec celui à 1 sur le dépot.


    Y'a t'il un moyen quelconque d'arriver à avoir un code local toujours synchro avec mon dépot ?
    Je maîtrise pas du tout ant , du coup je dois passer à coter de pas mal de truc :/
    Mon but final est d'avoir une page info dans l'appli affichant le numéro de version et de build (qui correspond à versionCode) , il donc important que versionCode corresponde bien à la version comitée
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  2. #2
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Par défaut
    Pourquoi ne pas passer cette tâche Ant en pre-commit ?
    Ainsi, le numéro de version est mis à jour juste avant le commit uniquement, et tu es synchrone entre le CVS et le local.

    HS : merci, j'ai en tête de faire un truc similaire pour un projet et je ne m'y pas connais pas non plus en Ant
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  3. #3
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Citation Envoyé par Hizin Voir le message
    Pourquoi ne pas passer cette tâche Ant en pre-commit ?
    Sans doute la solution mais j'ai aucune idée de comment faire :/
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Rédacteur
    Avatar de David55
    Homme Profil pro
    Ingénieur informatique
    Inscrit en
    Août 2010
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 1 542
    Par défaut
    Et bien pourquoi ne pas rajouté 1 lors de la modification du numéro de version?

    Pour cela tu peux utiliser Math apparemment : http://ant-contrib.sourceforge.net/t...math_task.html

  5. #5
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Rajouter 1 ne réglera pas le problème. Le versionCode correspondra bien à la révision de subversion mais dès que je recompilerai le projet , le manifest ne sera plus synchronisé avec le dépot.

    La solution semble être ce que propose Hizin , je vais creuser de ce coté dès que j'ai un peu de temps.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Par défaut
    Bon... j'étais sûr qu'on pouvait le faire, mais à priori, je me suis avancé.
    J'étais persuadé de pouvoir faire faire une tâche Ant avant un commit sous IDEA, et ce n'est pas possible.
    Sous Eclipse, ça ne me semble pas possible non plus (j'ai trouvé pour attacher au build par contre).

    Toutes mes excuses.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  7. #7
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Doit y avoir moyen avec un pre commit hook en subversion j'imagine
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Appeler un script Ant avec Maven 2
    Par enwoo dans le forum Maven
    Réponses: 1
    Dernier message: 05/12/2006, 19h27
  2. Script ant avec Eclipse
    Par Premium dans le forum Langage
    Réponses: 1
    Dernier message: 27/10/2006, 12h05
  3. [TOMCAT]configurer TOMCAT pour exécuter un script ANT
    Par VysEDaKRe dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 10/04/2006, 11h58
  4. script ant ftp
    Par Staron dans le forum ANT
    Réponses: 3
    Dernier message: 26/10/2005, 08h52
  5. balise condition dans script ant
    Par Staron dans le forum ANT
    Réponses: 2
    Dernier message: 26/10/2005, 08h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo