Как получить логические результаты сопоставления регулярных выражений в Ant? - PullRequest
3 голосов
/ 09 апреля 2010

Есть ли в Ant способ просто использовать регулярные выражения для поиска в файле строки и получить логический результат, если есть совпадение или нет?

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

В худшем случае я мог бы использовать тег Script , но хотел бы избежать этого, если у Ant есть способ сделать это.

Ответы [ 2 ]

2 голосов
/ 09 апреля 2010

После некоторых поисков в документации по Ant, я нашел обходной способ выяснить это. Получите длину файла, которая соответствует регулярному выражению. Если оно больше 0, выполните дополнительные шаги.

<if>
  <length when="greater" length="0">
    <fileset file="${build.log}">
      <containsregexp expression="\[java\].*error"/>
    </fileset>
  </length>
  <then>
    <!-- perform additional steps -->
  </then>
</if>

Я обнаружил, что Ant имеет условие соответствия , но не смог его использовать, так как я использую Ant 1.6.5.

0 голосов
/ 28 июля 2011

Чтобы использовать тег if, в моем случае вам нужно использовать описанную ниже задачу:

<taskdef resource="net/sf/antcontrib/antcontrib.properties">
        <classpath>
            <pathelement location="./ant-contrib.jar"/>
        </classpath>
    </taskdef>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...