OVH Cloud OVH Cloud

obtenir un timestamp de compilation?

8 réponses
Avatar
Fonzarelli
Bonjour,

Voilà un truc qui paraît simple mais que je sais pas comment faire en java.
j'aimerai pouvoir faire figurer dans un applet java la date de compilation,
à la manière de ce que permet la macro "__DATE__" en C avec un
préprocesseur.
Malheureusement, à ce que j'ai vu, pas de préprocesseur en java!

Y a-t-il un autre moyen?

Tout ça pour garder un meilleur contrôle de chronologie des versions.

merci.

8 réponses

Avatar
BJB
Bonjour,

Quelle est l'interret d'avoir la date de compilation sur tout les fichiers ?

Perso, il me parrait plus interessant d'avoir une information de version
sur le packaging par exemple (pour être sur de la version. Car dans la
mesure ou l'embalage est automatisé, tous les fichiers sont d'une même
version cohérente qui correspond à la date de dernière construction.

Et pour cela des taches Ant ou mieux encore une config Maven devrait
replacer ça avantageusement ;-)
De plus celà te permettre de piloter correctement le cache du Javaplugin
...

En plus automatiser ta construction par un luntbuild peut devenir assez
sympas si tu prévoie des livraisons raprochées ...

Non vraiment, le préprocesseur ça ser franchement à rien, ou du mois pas
plus qu'un makefile en Java ;-)

A+
JB

Fonzarelli wrote:
Bonjour,

Voilà un truc qui paraît simple mais que je sais pas comment faire en java.
j'aimerai pouvoir faire figurer dans un applet java la date de compilation,
à la manière de ce que permet la macro "__DATE__" en C avec un
préprocesseur.
Malheureusement, à ce que j'ai vu, pas de préprocesseur en java!

Y a-t-il un autre moyen?

Tout ça pour garder un meilleur contrôle de chronologie des versions.

merci.




Avatar
Kupee
BJB wrote:
Bonjour,

Quelle est l'interret d'avoir la date de compilation sur tout les
fichiers ?

Perso, il me parrait plus interessant d'avoir une information de version
sur le packaging par exemple (pour être sur de la version. Car dans la
mesure ou l'embalage est automatisé, tous les fichiers sont d'une même
version cohérente qui correspond à la date de dernière construction.

Et pour cela des taches Ant ou mieux encore une config Maven devrait
replacer ça avantageusement ;-)
De plus celà te permettre de piloter correctement le cache du Javaplugin
...

En plus automatiser ta construction par un luntbuild peut devenir assez
sympas si tu prévoie des livraisons raprochées ...

Non vraiment, le préprocesseur ça ser franchement à rien, ou du mois pas
plus qu'un makefile en Java ;-)


Ben moi j'y verrais un intéret, rien a voir avec les livraisons : tu
développes par exemple une applet, tu compile et tu met sur le serveur.
Quand tu teste c'est pratique de savoir si le browser a bien rechargé la
nouvelle version de l'applet. Et dans ce cas un timestamp est plus
pratique car on a pas besoin d'incrémenter sa version a chaque fois
qu'on compile si ca se faisait tout seul.

Avatar
Lionel
Kupee wrote:
Ben moi j'y verrais un intéret, rien a voir avec les livraisons : tu
développes par exemple une applet, tu compile et tu met sur le
serveur. Quand tu teste c'est pratique de savoir si le browser a bien
rechargé la nouvelle version de l'applet. Et dans ce cas un timestamp
est plus pratique car on a pas besoin d'incrémenter sa version a
chaque fois qu'on compile si ca se faisait tout seul.


Et en affichant la date de dernière modification d'un des .class ?

Avatar
Kupee
Lionel wrote:
Et en affichant la date de dernière modification d'un des .class ?


Tu trouves ca ou ?

Avatar
Lionel
Kupee wrote:
Lionel wrote:
Et en affichant la date de dernière modification d'un des .class ?


Tu trouves ca ou ?


File.lastModified() ?


Avatar
Kupee
Lionel wrote:
Et en affichant la date de dernière modification d'un des .class ?


Tu trouves ca ou ?



File.lastModified() ?


Oui c'est une possibilité. Mais qui ne marchera pas dans une applet par
contre



Avatar
Fabien Bergeret
Kupee wrote:
BJB wrote:

Bonjour,

Quelle est l'interret d'avoir la date de compilation sur tout les
fichiers ?

Perso, il me parrait plus interessant d'avoir une information de
version sur le packaging par exemple (pour être sur de la version. Car
dans la mesure ou l'embalage est automatisé, tous les fichiers sont
d'une même version cohérente qui correspond à la date de dernière
construction.

Et pour cela des taches Ant ou mieux encore une config Maven devrait
replacer ça avantageusement ;-)
De plus celà te permettre de piloter correctement le cache du
Javaplugin ...

En plus automatiser ta construction par un luntbuild peut devenir
assez sympas si tu prévoie des livraisons raprochées ...

Non vraiment, le préprocesseur ça ser franchement à rien, ou du mois
pas plus qu'un makefile en Java ;-)



Ben moi j'y verrais un intéret, rien a voir avec les livraisons : tu
développes par exemple une applet, tu compile et tu met sur le serveur.
Quand tu teste c'est pratique de savoir si le browser a bien rechargé la
nouvelle version de l'applet. Et dans ce cas un timestamp est plus
pratique car on a pas besoin d'incrémenter sa version a chaque fois
qu'on compile si ca se faisait tout seul.
Pour ca, il suffit d'inclure les entrees qui vont bien dans le manifest

du jar livre, avec la date de generation du jar, la version et l'auteur .
Voici un extrait du build.xml (pour les utilisateurs de Ant) :
<manifest>
<attribute name="Built-By" value="${user.name}" />
<attribute name="Implementation-Version" value="${project}-${version}" />
<attribute name="Implementation-Vendor" value="Ma société" />
</manifest>
</jar>


Avatar
BJB
Ben moi j'y verrais un intéret, rien a voir avec les livraisons : tu
développes par exemple une applet, tu compile et tu met sur le serveur.
Quand tu teste c'est pratique de savoir si le browser a bien rechargé la
nouvelle version de l'applet. Et dans ce cas un timestamp est plus
pratique car on a pas besoin d'incrémenter sa version a chaque fois
qu'on compile si ca se faisait tout seul.


Tout à fait, mais pout connaitre la version du Jar utilisé, tu n'as pas
besoin de tagger tous les fichiers, mais simplement le fiché déployer ou
un fichier en particulier que tu afficheras à l'aide d'un log de level
INFO par exemple ;-)

Je te conseille je regarder maven et luntbuild en priorité ....

A+
JB