Я рассматриваю вопрос о переключении проекта Maven, которым я управляю, на Apache-Ant / Ivy.Мне нужно больше контролировать процесс сборки, и я очень разочарован в Maven.Пожалуйста, никаких комментариев о том, как велик Maven.У меня вопрос по поводу Ivy.
Я бы хотел установить «стандартный» шаблон сборки 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
и т. д.
В прошлом я пытался использоватьПлющ, но файлы сборки Ant должны быть очень большими (> 500 строк для файла сборки шаблона) и сложными в управлении / редактировании.Я надеюсь, что, поместив стандартные цели в их собственные модули сборки в каталог ~/.ivy/ant
, я смогу избежать этого раздувания кода.
Можно ли это сделать?Я далеко от базы?Единственная документация, которую я могу найти на Ivy, находится на веб-сайте Apache (http://ant.apache.org/ivy). Есть ли другая доступная документация, включая книги?