bloggers bloggers

Marco Napolitano
Messaggi: 79
Stelle: 0
Data: 17/02/22
Jader Jed Francia
Messaggi: 63
Stelle: 0
Data: 18/02/21
Paolo Gambetti
Messaggi: 2
Stelle: 0
Data: 11/11/19
Katia Pazzi
Messaggi: 1
Stelle: 0
Data: 27/06/19
Ezio Lombardi
Messaggi: 11
Stelle: 0
Data: 10/04/18
Chiara Mambretti
Messaggi: 25
Stelle: 0
Data: 27/02/17
Serena Traversi
Messaggi: 3
Stelle: 0
Data: 21/07/16
Francesco Falanga
Messaggi: 8
Stelle: 0
Data: 14/06/16
Antonio Musarra
Messaggi: 2
Stelle: 0
Data: 18/11/13
Simone Celli Marchi
Messaggi: 6
Stelle: 0
Data: 09/07/13
Indietro

Antcall ed incremento multiplo del build number

Chi abbia mai utilizzato Ant sa che attraverso il task <buildnumber> è possibile gestire in automatico il numero di build, lasciando ad Ant l'onere di incrementare il valore ad ogni esecuzione dello script; tuttavia, se all'interno del vostro script dovete utilizzare anche il task <antcall> ecco che i risultati potrebbero non essere esattamente quelli attesi.

Il funzionamento del task <buildnumber> è molto semplice: all'avvio dello script viene letto il valore del numero di build contenuto nel file (se non esiste viene creato) ed impostato nella variabile build_number (che verrà quindi utilizzata nello script); dopodichè il valore viene incrementato di 1 e salvato nel file.

Il task <antcall> invece crea una nuova sessione Ant ogni volta che viene invocato ed aogni sessione corrisponde un'invocazione del task <buildnumber>.

Quindi il risultato è che alla fine dello script il numero di build non risulta più incrementato solo di 1, ma "di 1 più ogni invocazione di <antcall>".

Se supponiamo di avere 3 chiamate di <antcall>, otterremo che:

  • al primo run il numero di build viene impostato a 0 ed incremento a 4 (1 + 3);
  • al primo run il numero di build viene impostato a 4 ed incremento a 8;
  • e così via...

Per ovviare a questo problema ed avere dei numeri di build effettivamente contigui è sufficiente non usare <antcall> ma strutturare lo script Ant mediante l'attributo depends.

Precedente
Commenti
Nessun commento. Vuoi essere il primo.