Я подумываю о переключении проекта Maven, которым я управляю, на Apache-Ant / Ivy. Мне нужен больший контроль над процессом сборки, и я очень расстраиваюсь из-за Maven. Пожалуйста, не комментируйте, насколько хорош Maven. У меня вопрос об Айви.
Я хотел бы создать «стандартный» шаблон сборки Ant, который впоследствии можно было бы использовать для других проектов с минимальными изменениями.
Я создам центральный «корпоративный» репозиторий, где мы сможем разместить сторонние библиотеки, которые недоступны в общедоступных репозиториях Maven (например, коммерческие библиотеки, библиотеки Sun, проприетарные библиотеки и т. Д.). Этот корпоративный репозиторий будет доступен в нашей локальной сети, но может быть недоступен за пределами офиса.
У каждого разработчика будет частный репозиторий в ~ / .ivy / repository
. Я хотел бы, чтобы сборка Ant автоматически обновляла этот частный репозиторий с измененными версиями библиотек из корпоративного репозитория.
В ~ / .ivy / ant
я планирую разместить «стандартные» модули для включения в отдельные файлы проекта build.xml
, используя include
] в Ant 1.8. Эти модули будут предоставлять такие объекты, как Scala
и Clojure
, цели компиляции с разными версиями для разных версий Scala и Clojure (например: scala-compile-2.9.1.xml
, clojure-compile-1.3.xml
и т. Д.) Модули сборки будут доступны в корпоративном репозитории и должны автоматически обновляться в частных репозиториях в случае их изменения.
Каждый проект будет следовать стандартной структуре каталогов Maven: $ {project} / src / main / java
, $ {project} / target / classes
и т. Д.
Раньше я пробовал использовать Ivy, но файлы сборки Ant должны были быть очень большими (> 500 строк для файла сборки шаблона), и их было сложно управлять / редактировать. Я надеюсь, что, поместив стандартные цели в их собственные модули сборки в ~ /.ivy / ant
, я могу избежать раздувания кода.
Можно ли это сделать? Я далеко от базы? Единственная документация, которую я могу найти по Ivy, находится на веб-сайте Apache (http://ant.apache.org/ivy). Есть ли другая документация, включая книги?