Я использую ant 1.6.2 и пытаюсь настроить задачу, которая будет сравнивать исходный и целевой каталог, идентифицировать все подкаталоги, которые существуют в исходном каталоге, и удалять понравившиеся именованные подкаталоги в целевом каталоге.
Итак, скажем, в исходном каталоге есть подкаталоги sub1, sub2 и sub3, а в целевом каталоге есть sub1, sub2, sub3 и sub4, тогда я бы хотел удалить sub1, sub2 и sub3 из цели реж.
Я думал, что смогу сделать это, используя FileSelector, чтобы идентифицировать все каталоги в источнике, которые присутствуют в цели. Однако я не могу заставить селектор файлов когда-либо возвращать совпадения для каталогов.
В конце концов, я решил сделать что-то вроде:
<fileset id="dirSelector" dir="${install.dir}">
<type type="dir"/>
<present targetdir="${dist.dir}"/>
</fileset>
Я начал с того, что попытался перечислить каталоги, присутствующие в исходном каталоге, и распечатать их:
<fileset id="dirSelector" dir="${install.dir}">
<type type="dir"/>
</fileset>
<property name="selected" refid="dirSelector" />
<echo>Selected: ${selected}</echo>
Тем не менее, я никогда ничего не печатаю, когда селектор типа установлен в каталог. Если я изменяю тип на файл, я получаю распечатанные файлы.
Есть ли лучший способ выполнить то, что я пытаюсь сделать? Я что-то упустил при использовании селектора типа?