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