Ho un obiettivo di build.xml
che crea un file Zip. Per evitare di creare Zip se nessun file è stato aggiornato, vorrei verificare in anticipo gli aggiornamenti. AFAIK, uptodate
è l'attività da utilizzare.Come utilizzare l'elenco file come set di file in uptodate comando Ant?
Ecco le pertinenti (semplificato) sezioni di script:
<filelist id="zip-files">
<file name="C:/main.exe" />
<file name="D:/other.dll" />
</filelist>
<target name="zip" depends="zip-check" unless="zip-uptodate">
<zip destfile="${zip-file}" >
<filelist refid="zip-files" />
</zip>
</target>
<target name="zip-check">
<uptodate property="zip-uptodate"
targetfile="${zip-file}">
<srcfiles refid="zip-files" />
</uptodate>
</target>
Tuttavia, uptodate
fallisce perché srcfiles
deve fare riferimento a un fileset
, non un filelist
. Tuttavia, non posso usare uno fileset
perché richiederebbe un attributo dir
, che non posso impostare perché i file di origine non condividono una directory di base.
Naturalmente, potevo semplicemente copiare tutti i file in una directory comune prima di zipparli, potendo quindi utilizzare fileset
, ma mi chiedevo se esistesse una soluzione alternativa.
sto usando Ant 1.8.1
Funziona, grazie. Non so come contrassegnare questo argomento "risolto" da te, mi dispiace. – Elena
C'è un controllo bianco sotto il "numero di voti" per la risposta. Fare clic sul segno di spunta e diventerà verde indicando che la domanda ha avuto risposta. –