2010-04-09 6 views
2

정규식을 사용하여 파일을 검색하여 일치하는 부분이 있으면 부울 결과를 얻는 방법이 있습니까?Ant에서 정규식 일치의 부울 결과를 얻는 방법은 무엇입니까?

오류 라인에 대한 로그 파일을보고 싶습니다. 오류 라인이 존재하는 경우 몇 가지 추가 단계를 수행하려고합니다.

최악의 경우, Script tag을 사용할 수는 있지만 Ant가이를 수행하는 방법이 있다면이를 피하고 싶습니다.

답변

2

Ant 설명서를 검색 한 후에이 문제를 파악하는 방법을 생각해 냈습니다. 정규식과 일치하는 파일의 길이를 가져옵니다. 0보다 큰 경우 추가 단계를 수행하십시오.

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

나는 개미가 matches condition을 가지고 있지만 내가 개미 1.6.5를 사용하고 그것을 사용하지 수 있다는 것을 발견했다.

<taskdef resource="net/sf/antcontrib/antcontrib.properties"> 
     <classpath> 
      <pathelement location="./ant-contrib.jar"/> 
     </classpath> 
    </taskdef> 
: 태그, 내 경우에는 아래의 taskdef를 사용해야 할 경우
관련 문제