2009-04-21 4 views
3

여러 디렉토리에 여러 개의 하위 프로젝트가 있습니다. 나는 그것들을 목록으로 지정하기를 원한다. 주어진 대상에 대해 각각 하나씩 하나씩 호출하고 subant를 호출하고 싶다.Ant의 프로젝트 하위 목록에 대상을 어떻게 적용합니까?

내가 좋아하는 뭔가있어 :

<target name="run"> 
    <subant target="run" failonerror="true" verbose="true"> 
     <fileset dir="${projectA}" includes="build.xml"/> 
    </subant> 
    <subant target="run" failonerror="true" verbose="true"> 
     <fileset dir="${projectB}" includes="build.xml"/> 
    </subant> 
</target> 

을하지만 각 프로젝트 및 각 대상 집합에 대한 별도의 subant 라인을 지정해야합니다. 내가하고 싶은 일은 하위 프로젝트 목록 인 속성을 만들어서 어떻게 든 사용하는 것입니다. 순서대로 빌드

다른 모든 작업에서 다음
<macrodef name="iterate-projects"> 
    <attribute name="target" /> 
    <sequential> 
     <subant target="@{target}"> 
      <filelist dir="${src_dir}"> 
       <file name="projectA/build.xml"/> 
       <file name="projectB/build.xml"/> 
       <file name="projectC/build.xml"/> 
      </filelist> 
     </subant> 
    </sequential> 
</macrodef> 

, 당신은 모두에 목표를 호출 할 수 있습니다 예를 : 그것은

답변

5

이 작업을 수행하는 매크로를 정의 할 수 있습니다 .... 간단하면서도한다 :

+0

src_dir을 ..로 설정하면 좋았습니다 (내 buildAll 프로젝트는 다른 것과 동일한 수준임). –