L'esempio mostrato nella lezione precedente è veramente primitivo e non è degno nemmeno di essere chiamato "script di build". I problemi sono infatti molteplici:
- tutte le opzioni sono espresse come costanti
- se il percorso
Artifacts/Builds
non esiste la build fallisce - e soprattutto ogni volta che si aggiunge un file alla solution è necessario modificare lo script per includerlo nella compilazione
Nell'esempio 3 viene mostrato uno script che risolve questi problemi.
La prima miglioria è l'utilizzo di proprietà al posto di costanti.
<property name="path.src" value="TestApp1"/> <property name="path.build" value="Artifacts/Builds"/> <property name="project.name" value="MyTestApp1"/>
Una proprietà è una variabile che può assumere valori differenti durante l'esecuzione dello script. Quando ci si vuole riferire ad una proprietà si può semplicemente utilizzare la sintassi:
${nomeproprietà}
In questo modo Nant sostituisce al token il valore attuale della proprietà. Il vantaggio principale è quello di mantenere le impostazioni tutte definite in un solo punto ed inoltre si ha la possibilità di impostarne il valore da riga di comando.
Se si vuole cambiare ad esempio la cartella dove verrà generato l'eseguibile, è sufficiente utilizzare l'opzione -D, come in questo esempio in cui la cartella di build viene chiamata thisisatest
.
nant -D:path.build=thisisatest