Архив за 01.01.2008

Ant+Ivy: закроем тему управления зависимостями при сборке проектов

За полгода в фоновом режиме перевел сборку подконтрольных проектов на Ant+Ivy. До этого использовался Maven 1, который функционально устраивал, но требовал создания правильного окружения — Maven правильной версии, правильный набор плагинов правильных версий, иногда правильно пропатченных. В результате доходило до абсурда — один из проектов собирался только на одной машине, попытки воссоздать окружение на другой ни к чему не привели.

Все это подтолкнуло к упрощению процесса сборки — переходу обратно на Apache Ant. При этом требования к окружению свелись к минимуму — должен быть установлен Sun JDK, Ant правильной версии (1.7) и «большие» библиотеки (типа Eclipse).

Конечно, Ant требует описания процесса сборки для каждого проекта, а в Maven для проектов стандартной структуры стандартная сборка уже описана. Ну что ж, пришлось оформить описание сборки виде библиотеки. Теперь на новый простой проект трачу не больше времени, чем при использовании Maven. Библиотека опубликована под именем Buildbase, уже достаточно функциональна и стабильна, но как самостоятельный проект не рекламируется.

Второе преимущество Maven — управление зависимостями: описание зависимостей, скачивание недостающих артефактов из репозитория и т.п. Сначала я нашел простенькую библиотеку и временно перевел все на нее. Затем разобрался с Ivy и понял, что реализация управления зависимостями в этом инструменте сделана гораздо грамотнее, чем в Maven. Написать про Ivy обещал уже давно, мешала одна непонятность — не мог понять, как использовать локальный кэш зависимостей. Месяц назад разобрался и с этим, читайте Getting Started with Ant+Ivy.»

01.01.2008  Метки: ,   Рубрики: Инструменты, Разработка  Комментариев нет