Bonjour à tous,
Actuellement sur Mars.2 (mais je peux évoluer si nécessaire), je cherche à faire en sorte que lors d'un enregistrement d'un fichier .java, je positionne une constante à la date du jour (ou avec un numéro de version ou autre, je suis ouvert). L'idée est de pouvoir identifier facilement en ouvrant le fichier .class généré dans quelle version de fichier je suis.
Il est fréquent d'avoir à vérifier sur des applications client quelle version de fichier est présente (notre système de patch ayant parfois des soucis avec les droits d'accès, notamment sous Linux) et il est un peu lourd de devoir décompiler pour s'assurer que la version du fichier présente est la bonne. Ce que nous faisons actuellement (enfin surtout mes collègues, j'ai un peu du mal à me discipliner pour le faire, mais je me soigne), c'est de gérer manuellement une ligne du genre en début de classe :
et avant chaque commit de modifier cette valeur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part static public final String s_VERSION_DATE = "05/02/2018 16:07";
J'ai réussi, par template, à générer une ligne semblable avec le template suivant :
Par contre, je ne suis pas bien avancé car maintenant il faudrait que j'arrive à mettre jour ceci, soit lors de la sauvegarde, soit lors du commit sur SVN (là, ça devient plus compliqué car les uns utilisent Subclipse, les autres Subversive, mais si quelqu'un a une solution avec l'un ou l'autre, on peut imposer le plugin…) et c'est là que je sèche.
Code : Sélectionner tout - Visualiser dans une fenêtre à part static public final String s_VERSION_DATE = "${date} ${time}";
J'ai cherché un peu du côté des "Save Actions" dans le menu "Java"/"Editor" des préférences, mais je n'ai rien trouvé qui correspondrait à ce que je souhaite.
Est-ce qu'il faut que je parte sur du développement de plugin Eclipse pour faire un traitement lors du save (et si oui, un début de piste, ce serait top, sinon je creuserai de ce côté) ? Est-ce qu'il y a un moyen plus simple ? Est-ce qu'il y aurait une autre solution pour identifier facilement un fichier (et sa version) .class, sans passer par ce système de variable statique (qui reste un peu pourri à mon avis, mais qui a le mérite de fonctionner) ?
En tous cas, merci d'avance pour l'aide que vous pourrez m'apporter.
Partager