У меня есть два каталога, которые мне нужно сравнить для получения одинаковых файлов. Я успешно сделать это следующим образом:Установить свойство ant при сравнении каталогов
<fileset dir="d:\test" id="onlyinbar">
<not>
<present targetdir="A_DIR"/>
</not>
</fileset>
<echo>these files are only in bar : ${toString:onlyinbar}</echo>
<fileset dir="A_DIR" id="differentbarfoo">
<different targetdir="d:\test" ignoreFileTimes="true"/>
</fileset>
<echo>these files are different in bar compared to foo : ${toString:differentbarfoo}</echo>
Однако, мне нужно выдать другую задачу, если любой из них истинны. Таким образом, тег <condition>
, похоже, поддерживает только сравнение файлов с файлами, и я не вижу, как назначить свойство в теге <fileset>
. Помощь будет оценена.
Я не уверен, как это решит проблему. Как вы подразумеваете объединить две наборы файлов, как: <объединение ID = "Проверка"> <ресурс RefID = "onlyinbar" /> <ресурс RefID = "differentbarfoo" /> , а затем попытаться создать новую задачу с if? – janagn
Просьба пояснить, что вы имеете в виду под «заданием другой задачи, если любое из них истинно». Что такое «правда» в этом случае? Что есть файлы в «баре», которые не находятся в «foo» * OR *, есть файлы в обоих «барах» и «foo» с тем же именем, но с другим содержимым? –
Итак, первый набор файлов вернет имена файлов, отсутствующие в A_DIR. Вторая часть будет возвращать файлы, которые отличаются или отсутствуют в d: \ test. Поэтому, если любой из этих двух возвращает что-нибудь, что мне нужно сделать, например, echo (но только IF). – janagn