Sto usando ant 1.6.2 e sto provando a impostare un'attività che confronterà una fonte e una directory di destinazione, identificherò tutte le sottodirectory che esistono nella directory sorgente e cancellerò le subdirectory con nome preferite nella directory di destinazione.Come seleziono le sottodirectory nella form utilizzando un FileSet?
Quindi, supponiamo che la directory di origine abbia sottocartelle sub1, sub2 e sub3 in esso e la directory di destinazione abbia sub1, sub2, sub3 e sub4 in esso quindi vorrei eliminare sub1, sub2 e sub3 da destinazione dir.
Ho pensato che avrei potuto farlo utilizzando un FileSelector per identificare tutte le directory in source presenti nella destinazione. Tuttavia, non riesco a ottenere il selettore di file> tipo < per restituire sempre una corrispondenza per le directory.
In definitiva, ho pensato di fare qualcosa di simile:
<fileset id="dirSelector" dir="${install.dir}">
<type type="dir"/>
<present targetdir="${dist.dir}"/>
</fileset>
ho iniziato da solo cercando di elencare le directory presenti nella directory dei sorgenti e stamparle:
<fileset id="dirSelector" dir="${install.dir}">
<type type="dir"/>
</fileset>
<property name="selected" refid="dirSelector" />
<echo>Selected: ${selected}</echo>
Tuttavia, Non ho mai stampato nulla con il selettore di tipi su directory. Se cambio il tipo di file, ottengo i file stampati.
C'è un modo migliore per realizzare ciò che sto cercando di fare? Mi manca qualcosa nel mio uso del selettore di tipi?
Grazie per l'aiuto. Al momento non utilizzo la libreria ant contrib, quindi ho pensato di provare la sequenza di attività personalizzata che hai suggerito per prima. Questo finì per essere abbastanza facile e funzionò alla grande. Grazie. –
@EricRosenberg Puoi inserire l'attività personalizzata come risposta? Funziona bene con SO, e sarebbe qualcosa che stiamo cercando. –
@OzairKafray Ci dispiace, ma non ho più accesso all'implementazione delle attività personalizzate. –