Категории

Apache Ant

Apache Ant ( ant – ant и акроним – „Another Neat Tool „) е програма за автоматизиране на процеса на създаване на софтуерен продукт. Тя е платформено независим аналог на обслужващата програма make (като „Makefile“ се използва „build.xml“).

Apache Ant създадена е като част от проекта Jakarta, а днес е самостоятелен проект от първо ниво Apache Software Foundation.

Първата версия е разработена от Sun Microsystems инженера Джеймс Дейвидсън (James Davidson ), който се нуждае от помощна програма, подобна на make, като разработва първата референтна реализация на J2EE (Java 2 Enterprise Edition ).

За разлика от make, полезната програма Apache Ant е напълно платформено независима, като изисква единствено наличието на инсталирано Java – Java Runtime Environment работно пространство в използваната система. Неизползването на команди на операционната система и форматът XML осигуряват преносимост на скриптовете.

Процесът на изграждане се контролира от скрипта XML-, наричан още файл Build-. Този файл съдържа преди всичко дефиниция на проекта, състояща се от отделни цели (Targets). Целите са сравними с процедурите в езиците за програмиране и съдържат извиквания на команди за задачи (Tasks). Всяка задача е неделима, атомарна команда, която изпълнява някакво елементарно действие.

Между целите могат да се дефинират зависимости – всяка цел се изпълнява само след като са изпълнени всички цели, от които зависи (ако те вече са били изпълнени преди това, не се извършва повторно изпълнение).

Типични примери за цели са Clean (изтрива междинни файлове), Compile (компилира всички класове), Deploy (разгръща приложението на сървъра). Конкретният набор от цели и техните взаимовръзки зависят от спецификата на проекта.

Apache Ant ви позволява да дефинирате свои собствени типове задачи, като създавате Java-класове, които реализират определени интерфейси.

Apache Ant за разлика от другия конструктор на проекти Apache Maven, той осигурява императивно, а не декларативно изграждане на проекти.

Категории: Автоматизация на билд процеса, За уеб разработчици

Реклама