2011-06-13 8 views
12

this 관련 질문을 보았지만 내 상황이 다르기 때문에 다시 묻습니다. 기본적으로, 나는 12 개의 ant 파일을 특정 순서로 실행해야한다. 각 개미 파일에 대해 "작성"또는 "모두 빌드 및 배포"와 같은 다른 대상을 선택합니다. 어떻게 이러한 모든 파일에 대해 올바른 대상을 호출 할 개미 파일을 만들 수 있습니까?다른 개미 파일을 실행하기위한 개미 파일 만들기

Pseudocode: 

<Call antFile1, "clean"> 
<Call antFile1, "create"> 
<Call antFile2, "build"> 
     . 
     . 
     . 
<Call antfile12, "build and deploy all"> 
+0

개미 스크립트가 다른 사람을 호출하면 내 생각에 개미를 더 이상 사용하지 않아야하는 곳입니다. –

+0

다른 대안이 있습니까? – TookTheRook

+1

Maven과 같은 프로젝트 수명주기를 관리하는 데는 표준을 사용해야합니다. 복잡한 물건이 없다면 깊은 학습 없이는 행복하게 될 것입니다. 프로젝트에 대해 더 많이 말하면 개미 스크립트가 실제로하는 일에 대해 더 많이 도움을 줄 수 있습니다. –

답변

25

어쩌면 개미 파일 포괄 아래 같은 목표를 가지고 :

<target name="all"> 
    <ant antfile="antFile1" target="clean" /> 
    <ant antfile="antFile2" target="create" /> 
    ... 
</target> 

여기를 참조하십시오 :

<import file="my_ant_file.xml"> 

그리고 당신을 : http://ant.apache.org/manual/Tasks/ant.html

7

또한 수입 태그를 가질 수 있습니다 그 파일에있는 ant 대상을 호출 할 수 있습니다. 그렇게하면 모호성을 피하기 위해 대상 이름을 한정 (접두사 추가) 할 수 있습니다.

편집 : 호출하는 지역 대상으로 동일을 가져온 파일에서 ant 대상입니다 호출 : 그것의

<target name="my_target" depends="my_target_from_an_imported_file"> 

생각한다

<antcall target="my_local_target"> 
<antcall target="my_target_from_an_imported_file"> 

또한 의존성로 사용할 수 있습니다 프로그래밍 언어로 가져 오는 것과 같은 방식입니다. 가져 오기가 완료되면 파일에있는 다른 대상인 것처럼 사용할 수 있습니다.

여기는 import documentation입니다.

+0

일단 모든 파일을 가져 오면 대상을 어떻게 호출 할 수 있습니까? 문법의 예를 들어 주시겠습니까? – TookTheRook

+0

@Mahendru 내 편집보기 –

+1

문제는 다른 Ant 파일을 특정 폴더로 호출 할 때 자신의 속성 파일을 따르는 대신 ant 파일이 master_ant_file (내가 만드는 중) 이후에 경로 변수를 찾을 수 없다는 것입니다. 경로 변수를 저장하지 않습니다 (각 개미 빌드마다 경로 변수가 다름). maser_ant_file의 특성 파일에서 첫 번째 개미의 경로 변수를 넣으면 첫 번째 빌드는 잘 실행되지만 두 번째 경로는 경로를 찾을 수 없습니다. 이 문제를 해결할 수있는 방법이 있습니까? – TookTheRook