2014-07-14 1 views
0

저는 요즘 거의 전적으로 요란한 것을 사용하고 있습니다 만, 때때로 나는 우리의 오래된 개미 시스템으로 돌아가서 뭔가를하는 방법을 찾아야합니다. 그런 다음 나는 개미에 대해 얼마나 아는 지 알지 못하거나 간단한 작업 중 일부라도 어려워하는 것처럼 보입니다.속성을 사용하여 다른 파일 세트에서 파일 세트를 제외하십시오.

<target name="some-operation"> 

    <fileset dir="blah" id="stuff"> 
     <filename name="**/*.txt" /> 
     <not> 
      <filename name="**/foo/*" /> 
     </not> 
    </fileset> 

    <!-- do some operations on "stuff" --> 

</target> 

이 여러 프로젝트가 사용하는 일부 오래된 빌드 시스템에 상상 :

예를 들어, 내가 파일 세트에 대한 몇 가지 작업을 수행하는 목표를 가지고있다. 파일 세트에서 추가 작업을 제외하고 싶습니다 ("foo"와 비슷한 디렉토리 "bar"안에있는 파일). 그러나 이것은 여러 프로젝트에서 사용하는 것이므로 빌드 시스템에 내 사용자 정의 제외를 넣을 수는 없습니다 . 그 추가 파일 세트를 (여러 개의 제외를 포함 할 수 있음) 연결할 수있는 방법이 필요합니다.

이 작업을 수행하는 가장 좋은 방법은 무엇입니까? 나는 에 내 재산을 설정할 것이라고 생각하고있다. 내은 제외 할 파일로 빌드하지만, some-operation 대상은 해당 속성이 없을 때 정상적으로 처리해야한다. 그러나 파일 세트를 속성으로 설정하면 some-operation의 원래 파일 세트에서 제외시키는 방법을 잘 모릅니다.

가장 좋은 방법은 무엇인가요?

답변

0

유연성을 위해 1-n 파일 세트를 보유하는 중첩 요소가있는 macrodef을 다시 작성하십시오.
중첩 요소를 사용하는 macrodef의 예를 제공하는 this answer을 참조하십시오.

관련 문제