2013-03-29 3 views
2

Я использую ANT для проверки количества наборов файлов в двух баночках. Я не могу проверить, существуют ли файлы одного шаблона или нет.Проверить наличие нескольких файлов ANT

, например. У меня есть 2 файла, например /host/user/dir1/ABC1.txt и /host/user/dir1/ABC2.txt.

Теперь я хочу проверить, присутствует ли файл шаблона «/ host/user/dir1/ABC *» или нет?

Я могу проверить отдельный файл /host/user/dir1/ABC1.txt, используя доступный тег, но не могу проверить файлы для определенного шаблона.

благодарит заранее.

Для отдельного файла, следующие прекрасно работает:

<if> 
    <available file="${client.classes.src.dir}/${class_to_be_search}.class"/> 
    <then> 
     <echo> File ${client.classes.src.dir}/${class_to_be_search}.class FOUND in src dir 

     </echo> 
     <echo> Update property client.jar.packages.listOfInnerClass</echo> 
    </then> 
    <else> 
     <echo> File ${client.classes.src.dir}/${class_to_be_search}.class NOT FOUND  in src dir. 
     </echo> 
    </else> 
</if> 

Но я хочу найти несколько файлов: что-то вроде:. $ {Dir.structure}/$ {class_to_be_search} $ * класс

+0

Можете ли вы добавить код, который вы фактически используете (этот с индивидуальной проверкой файла)? – pepuch

+0

Для отдельного файла, следующие прекрасно работает: <имеющийся файл = "$ {client.classes.src.dir}/$ {class_to_be_search} .class" /> Файл $ {dir.structure }/$ {class_to_be_search} .class НАЙДЕНО в каталоге src. Update свойство client.jar.packages.listOfInnerClass Файл $ {client.classes.src.dir}/$ {class_to_be_search} .class НЕ НАЙДЕНО в ИПВ реж. Я хочу найти $ {dir.structure}/$ {class_to_be_search} $ *. Класс –

+0

Редактировать ваш вопрос и вставить его туда. Не забудьте отформатировать это в удобочитаемой форме. – pepuch

ответ

3

if task не является частью сердечника ANT.

В следующем примере показано, как это можно сделать, используя ANT condition task. Вы можете использовать любой шаблон в наборе файлов. Выполнение цели впоследствии зависит от того, как было установлено свойство «file.found»:

<project name="demo" default="run"> 

    <fileset id="classfiles" dir="build" includes="**/*.class"/> 

    <condition property="file.found"> 
     <resourcecount refid="classfiles" when="greater" count="0"/> 
    </condition> 

    <target name="run" depends="found,notfound"/> 

    <target name="found" if="file.found"> 
     <echo message="file found"/> 
    </target> 

    <target name="notfound" unless="file.found"> 
     <echo message="file not found"/> 
    </target> 

</project> 
+0

Вы сделали цель = «запустить» по умолчанию. Это означает, что он будет работать по умолчанию. Правильно? Эта цель «запустить» зависит от найденных/неработающих целей, которые в свою очередь используют условие «file.found». Я хочу знать, когда это условие выполняется, и установите file.found = true/false ?? –

+0

@MayurSharma Это цель задачи «условие». Он выполняется, когда сборка инициализируется и устанавливает свойство. Это свойство, в свою очередь, контролирует, делают ли «найденные» и «неподтвержденные» цели. –

Смежные вопросы