ANT разработан на Java и по этому он платформа-независимый. ANT получает инструкции в виде XML-Документа, поэтому он легко расширяемый и удобный в использовании. Вам не нужны какие-нибудь специальные редакторы для того что-бы создать конфиг для ANT-а, сойдет самый обычный текстовый редактор.
Установка ANT-а:
Если вы используете какое-нибудь IDE типа Eclipse тогда вам не нужно скачивать никаких дополнительных библиотек, они по-дефолту встроены туда.
Если же вы не используете IDE и делаете все в текстовом редакторе, тогда вам нужно сделать кое-что:
Steps to set path cmd if you are not using any IDE:
Steps to set path cmd if you are not using any IDE:
- Скачать файлы из http://jakarta.apache.org/ant/index.html и распаковать их где вам удобно. and unzip them to some directory.
В нашем случае мы назовем папку - ant. - Добавьте путь /%ПУТЬ_ К_ПАПКЕ%/ant/bin в переменную PATH. (например export PATH=/usr/bin/ant;$PATH )
- Добавьте .jar файлы из /%ПУТЬ_ К_ПАПКЕ%/ant/lib в переменную окружения CLASSPATH. Переменную окружения JAVA_HOME установите путь к папке с установленной JDK. В переменную CLASSPATH добавьте /%ПУТЬ_ К_JDK%/lib
Формат файла настройки ANT-а (build.xml) :
Это XML файл, обычно по-умолчанию ант использует файл с именем build.xml. Ниже представлен скриншот билд файла, он настроен на сборку кода из папочки src
Это об]явление XML файла, с его версией. Все файлы должны начинаться с этого.
Этот элемент содержит три атрибута.
1. name: Тут вы указываете имя проекта для которого вы пишите этот билд файл
2. default: Это действие по-умолчанию которое будет выполнено антом.
3. basedir: Это базовая(корневая) директория для вашего проекта. В фале . означает текущая директория. Если этот атрибут не будет указан - будет использована родительская, то есть на каталог выше. Догадайтесь сами.
Этот элемент позволяет вам описывать свои собственные свойства и их значения. Пара свойство-значение, где вы можете получить значение обратившись к свойству This element allows you to write your own variable with their values. You can define as many properties as you need. This is a name-value pair where you can access the value of a property by writing it in $ {propertyName}.
МЕЖДУ $ И { } НЕТ ПРОБЕЛА.
Этот пункт имеет два элемента.
1. Target: Этот элемент может быть описан как функция которая содержит набор инструкций к исполнению. Он содержит атрибут name который используется для вызова данного таргета ( не знаю как это по русски).
2. mkdir: Этот элемент используется для создания директории. Он содержит атрибут dir который принимает значение имени директории которая будет создана.
1. Target: Этот элемент может быть описан как функция которая содержит набор инструкций к исполнению. Он содержит атрибут name который используется для вызова данного таргета ( не знаю как это по русски).
2. mkdir: Этот элемент используется для создания директории. Он содержит атрибут dir который принимает значение имени директории которая будет создана.
Этот пункт компилирует код.
This target compiles the code. Здесь в атрибуте depends указано что данный элемент зависит он элемента init. В качестве компилятора используется javac из переменной окружения PATH, если он явно не указан в отдельном атрибуте. Итак, что бы запустить все это, у вас уже должны быть настроены переменные окружения JAVA_HOME и CLASSPATH. srcdir - директория с исходниками .java; destdir- директория для скомпилированных файлов .class
Создание Build файла для компилирования проектп:
Сейчас мы напишем билд файл который выполни чистую сборку проекта.В нашем проекте все исзодники находятся в директории и там есть один файл HelloWorld.java для компиляции.
01.
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
02.
03.
04.
<
project
name
=
"HelloWorld"
basedir
=
"."
default
=
"compile"
>
05.
06.
07.
<
property
name
=
"bin"
value
=
"bin"
/>
08.
09.
10.
<
target
name
=
"init"
depends
=
"clean"
>
11.
<
mkdir
dir
=
"${bin}"
/>
12.
target
>
13.
14.
15.
<
target
name
=
"clean"
>
16.
<
delete
dir
=
"${bin}"
/>
17.
target
>
18.
19.
20.
<
target
name
=
"compile"
depends
=
"init"
>
21.
<
javac
srcdir
=
"src"
destdir
=
"${bin}"
/>
22.
target
>
23.
project
>
Я надеюсь что в примере выше все понятно и мы двинемся дальше к такое веще как dependency (зависимости).
Когда элемент target содержит атрибут depends - это означает что текущий блок будет исполнен только после елемента от которого он зависит.
В нашем случае зависимости идут в таком порядке:
1. Запуск елемента по-умолчанию compile, который зависит от init.
2. Запуск елемента init, который зависит от таргета clean.
3. Итак, сначала зупустится на исполнение clean затем init и далее compile.
Имейте в виду:
Вы можете указывать несколько параметров в атрибуте depends, например depends="clean,init" и его исполнение будет происходит с лева направо. Будьте осторожны с описанием зависимостей.
Запуск ant файла
Если выиспользуете IDE например Eclipse, вы можете просто кликнуть правой кнопкой и выбрать Run As --> ANT build.
Если с вашим CLASSPATH и кодом все в порядке, вы увидите в консоле следущее :
Всего хорошего!
Комментариев нет:
Отправить комментарий