build.xml의 구성 by kkaok
2003-06-02
Ant의 빌드파일은 확장자를 보면 알 수 있듯이 xml이다. 따라서 빌드파일의 최상단에는 xml의 정의해야 한다. 전체 구성은 <project>로 시작해서 </project>로 끝나고 그 안에 하나 이상의 target, Properties, path 등이 삽입된다.
xml 정의 <?xml version="1.0" encoding="euc-kr"?> |
project
project는 name, default, basedir 세가지 속성을 가진다. name은 프로젝트명이고 default는 실행타겟이 지정되지 않았을 때 기본적으로 실행되는 타겟명을 적는다. basedir은 처리되는 디렉토리 명으로 build.xml이 상위 폴더 아래 있다면 생략 가능하며 basedir="." 이런 식으로 적어 주면 된다. <project name="kkaok" default="deploy">
...
</project> |
Properties
프라퍼티는, 이름(name)과 값(value)을 한쌍으로 가지며. 이름은 대·소문자를 구별한다. 프라퍼티의 이름은 다른 곳에서 "${프라퍼티명}"으로 사용이 가능하다. <property name="catalina.home" value="C:/Tomcat 4.1"/>
<property name="deploy.home" value="C:/kkaok_project/kr.pe.kkaok.board"/> |
path, classpath
path와 clsaspath는 다음과 같은 형식을 가진다. <classpath>
<pathelement path="${classpath}"/>
<pathelement location="lib/helper.jar"/>
</classpath> |
내부요소(pathelement)로 path와 location이 있으며 path는 보통 이미 정의된 경로와 함께 사용할 때 사용되어지고 location은 단일한 파일을 설정하거나 디렉토리를 설정할 때 사용된다. 이외에 DirSets, FileSets, FileLists는, 내부에 <dirset>, <fileset>,<filelist> 요소로 지정할 수 있다. <path id="compile.classpath">
<pathelement location="${catalina.home}/common/classes"/>
<fileset dir="${catalina.home}/common/lib">
<include name="*.jar"/>
</fileset>
<fileset dir="lib">
<include name="*.jar"/>
</fileset>
</path> |
target
target은 name, depends, if, unless, description 다섯 개의 속성을 가지며 다른 여러 타겟에 의존할 수 있다. 이것은 해당 타겟을 실행시키면 depends 된 여러 타겟을 함께 실행시킨다는 것이다.
depends : 이 타겟이 의존하는 타겟의 이름들.
if : 이 타겟을 실행하기 위해 설정되어야만 하는 프로퍼티의 이름.
unless : 이 타겟을 실행하기 위해서 설정되어선 안 되는 프로퍼티의 이름.
description : 이 타겟에 대한 설명.
실행 순서
<target name="A"/>
<target name="B" depends="A"/>
<target name="C" depends="B"/>
<target name="D" depends="C,B,A"/>
만약 위와 같이 타겟들이 서로 의존하고 있 D를 실행시킨다면 A,B,C,D 순으로 실행이 된다.
만약 명령창에서 그냥 ant만 하게 되면 project의 default로 정의된 타겟을 실행 시킨다. 위에서 A를 실행시키고 싶다면 아래처럼 하면 된다. 즉 여러개 실행 타겟 만들고 선별해서 실행 시킬 수 있다는 것이다. 너무나도 편리한 ant~~~
http://www.kkaok.pe.kr/ |