프로젝트와 타깃
빌드 파일의 프로젝트에는 실행할 타깃을 정의하고 각 타깃 안에 태스크를 담는다. 타깃이 다른 타깃에 의존하도록 설정해 실행 순서를 정한다. 타깃을 지정하지 않았을 때 사용할 기본 타깃도 정할 수 있다. 의존 관계의 순서와 각 작업이 실제로 할 일은 구분된다.
태스크와 속성
태스크는 컴파일이나 파일 처리처럼 실행할 코드 단위다. 속성으로 반복되는 문자열과 설정값을 공통화하고 태스크 인수에 참조할 수 있다. 내장 태스크 외에 직접 작성한 태스크와 타입을 Antlib로 묶어 필요한 처리 기능을 더한다.
유연한 빌드와 의존성 관리
Java 응용 빌드에 널리 쓰이지만 C와 C++ 등 다른 작업에도 사용할 수 있다. 특정 디렉터리 구조나 코딩 관례를 강제하는 방식은 아니다. 외부 의존성 관리가 필요하면 Apache Ivy와 조합할 수 있으며 빌드 실행 기능과 의존성 저장소 관리는 서로 다른 역할이다.