Ant / Ivy за сборку проекта

Я подумываю о переключении проекта 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). Есть ли другая документация, включая книги?

6
задан Alex Miller 22 July 2016 в 21:43
поделиться