Newsgroup: it.comp.java
Titolo: Gestire il numero di versione

Ciao,
sviluppo con NetBeans5, utilizzando per la compilazione i file ANT.
Un problema che mi capita sempre di affrontare è la gestione del numero di 
versione del programma.
Ossia come poter scrivere la versione una volta ed usarla ovunque.
Al momento ho realizzato una mia classe Version.java dove gestisco la cosa.
Però quando compilo con ANT, mi piacerebbe creare un JAR con il numero di 
versione.
E quando uso IzPack per creare il programma d'installazione, mi piacerebbe 
creare un JAR con il numero di versione.
Ma come faccio? Come faccio ad avere un unico luogo in cui inserire il 
numero di versione?
Perchè ora mi tocca scriverlo nella mia classe, nel file di ANT ed in quello 
di IzPack.
E spesso capita di non aggiornarne qualcuno.
Ciao
Marco 

 versione.
Ovviamente non è possibile collegare il contenuto di Version.java a delle 
variabili ANT, ma ti ritroverai al minimo a cambiare due valori...
Riassumendo, nel build.xml puoi scrivere:
	<property name="version" value="1"/>
	<jar basedir="<tua_dir>"
	 destfile="<nome_prog>_${version}.jar"
	 includes="<tuoi_inc>">
Oppure se vuoi basare tutto su file esterno:
	<property file="build.properties"/>
Spero di esserti stato utile,
jRed

 variabili ANT, ma ti ritroverai al minimo a cambiare due valori...
Ci sono due modi:
- far scrivere ad ant un file che poi viene usato dalla classe Version
- far generare ad Ant la classe Version dinamicamente
ciao
uL
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 - far generare ad Ant la classe Version dinamicamente
ah, e poi in ant c'è già il build.number, che conta i build e può essere
"attaccato" al jar name


 > - far scrivere ad ant un file che poi viene usato dalla classe Version
In realtà non c'è bisogno di avere un file, si può prendere le
informazioni dal manifest del jar (e li' ce 
le mette il task ant jar) tramite la classe Package. Non sapevo si
potessere leggere da java, utile...
Direi che questo dovrebbe essere il sistema ufficiale. E c'era già nella
1.3, pensa un po'


 "attaccato" al jar name
Beh, non ho bisogno di un grado di conteggio così fine.
Ciao
Marco 

 potessere leggere da java, utile...
Cioè?
Ciao
Marco 

 <property file="build.properties"/>
Mmm, facendo così invece potrei.
Ciao
Marco 

 Mmm, facendo così invece potrei.
Ma esattamente come dovrebbe funzionare?
Perchè non mi va.
Io ho creato il file .properties e dentro ho creato la proprietà
appl.version.
Da codice Java riesco ad aprire il file e gestire il numero di versione.
Dentro il file build.xml ho inserito il tag sopra e quando devo creare il
jar ho usato la variabile "nomeProgramma-${appl.version}.jar".
Però non viene stampato il numero di versione ma proprio la stringa 
${appl.version}.
Dove sbaglio?
Ciao
Marco 

 Perchè non mi va.
Come non detto. Risolto.
Era un problema di posizionamento del tag <property>.
Ciao
Marco 

 Cioč?
Cioč inserisci le informazioni nel manifest del jar, che prevede il numero
di versione, tramite un task 
ant e poi riprendile da java con la classe Package...


 ant e poi riprendile da java con la classe Package...
Mmm, ci guarderň.
Per ora sono riuscito a risolvere con un file esterno che viene gestito sia 
da codice che da ant.
Ciao
Marco 

 da codice che da ant.
Così è concettualmente la stessa cosa, solo che è standard e più semplice
da fare.
uL
P.S.
buon 2006 a tutti!


 buon 2006 a tutti!
PS: auguri a tutti, ma Ugo che ci faceva online in 31? (l'avrà letta la posta? :D)

 - far generare ad Ant la classe Version dinamicamente
Bello! Hai un esempio di questo da passarmi?
Fabio