Salut,

[...]
>
> J'ai regardé un peu du côté des tâches ANT, qui je pense pourraient
> répondre à mon besoin, mais ne voit pas comment m'y prendre
>
> créer un fichier par ANT nommé version.txt par exemple avec à
> l'intérieur la date et heure de compilation ?
>

idealement il vaut mieux embeddé ton numero de version dans le SWF
plutot que de dependre d'un fichier externe

> Est-ce que vous indiquez dans vos application le numéro de version de
> manière automatique ?
>

oui en gros la recette que j'utilise un peu partout
est d'utiliser ant + les includes en AS3 + svn

version.properties
----
version.major = 1
version.minor = 2
version.build = 3
----

note: ne pas mettre de ";" a la fin des lignes


Main.as
----
package
{

   public static var version:Object = {};
   include "version.properties"
   version.revision = Number( "$Rev: 123 $ ".split( " " )[1] );

   public class Main extends Sprite
   {

      public function Main()
      {
             trace
( [version.major,version.minor,version.build,version.revision].joint
(".") );
      }

   }

}
----

note:
tu dois ajouter un svn:keyword "Rev" depuis subversion
et a chaque fois que ce fichier en particulier est updaté le numero de
rev changera


dans maashaack la class core.version ou system.Version permet de gerer
ca un peu mieux
qu'un simple object Object


ensuite dans Ant tu peux juste faire

<property file="src/version.properties"/>

pour le reutiliser pour creer un zip ou autre

en option tu peux utiliser

http://ant.apache.org/manual/CoreTasks/buildnumber.html

si tu veux par ex updater version.build a chaque fois que ant est
lancé

ou tu peux utiliser svnant

        <taskdef resource="org/tigris/subversion/svnant/
svnantlib.xml">
            <classpath >
                <fileset dir="build/ant/" includes="*.jar"/>
            </classpath>
        </taskdef>


http://subclipse.tigris.org/svnant.html
http://subclipse.tigris.org/svnant/svn.html

et faire un update du version.revision dans Ant

        <svn username="${credentials.svn.username}" password="$
{credentials.svn.password}" javahl="false" svnkit="false">
            <info target="."/>
        </svn>

        <property name="version.revision" value="${svn.info.rev}"/>



apres chacun y va un peu a sa sauce en fonction des besoins

perso où je bosse je minimise l'update du version.major
donc j'ecris a la main version.minor et version.build

car souvent je compile une 100aine de fois pour obtenir la build
stable que je veux

et donc je me base sur le version.revision comme identifiant unique

mais je fais 2 différences:
- le version revision de la build, celui la je le veux automatique
avec Ant
- le version.revision de l'API, celui la je le veux updatable par mes
soins

mais c'est pour mes besoin vu que une ant build construit 20+ projets
je veux juste qu'ils aient le meme numero de revision et des
major.minor.build different

genre je peux avoir
avatar-1.1.0.1234.zip manager-3.5.2.1234.zip lobby-1.2.1.1234.zip

ici le numero de rev est en fait l'etat du svn au moment de la build
de tous les projets
qui permet de s'assurer que tout est en sync sur le meme numero de rev
parce que tout est sous le meme repo

plus tard on va bouger sur tu multi repository et là je vais devoir
changer la logique
car le numero de rev ne sera plus commun.


mais sinon le plus simple possible a faire c'est juste utiliser un
fichier text externe
que tu utilises en include


version.txt
----
version.major = 1
version.minor = 2
version.build = 3
version.revision = 4
----

Main.as
----
package
{

   public static var version:Object = {};
   include "version.txt"

   public class Main extends Sprite
   {

      public function Main()
      {
             trace
( [version.major,version.minor,version.build,version.revision].joint
(".") );
      }

   }

}
----


perso j'utiliserais ca pour un simple unique projet

l'utilisation de ant, ou de svn:keyword et autres

c'est vraiment quand on veut automatiser et/ou sync'er plusieurs
projets

zwetan











-- 
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes FCNG.
Pour envoyer un message à ce groupe, adressez un e-mail à [email protected].
Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse 
[email protected].
Pour plus d'options, consultez la page de ce groupe : 
http://groups.google.com/group/fcng?hl=fr


Répondre à