Однако благодаря системе плагинов Maven способен работать с любым языком и на любой платформе (где запустится Java). Именно это делает Maven весьма интересным кандидатом на роль основной системы сборки при старте мультиязычного проекта или нескольких связанных проектов на разных языка программирования.
К достоинствам Maven так же можно понятие репозитария артефактов - хранилища в котором можно разместить что угодно. Все что доступно в хранилище, легко подключается к проекту.
К тому же для многих Continuous Integration серверов уже есть готовые плагины/расширения для взаимодействия с Maven.
Подробности установки Maven доступны на официальном сайте - здесь.
А краткая инструкция выглядит так:
- Установить JDK
- Скачать и распаковать архив Maven
- Создать или обновить системные переменные так, чтобы JAVA_HOME указывал на JDK и PATH включал в себя путь к директории /bin распакованного Maven.
Nexus - это одна из реализаций хранилища артефактов. Nexus доступен в двух версиях - Open Source и Professional. Подробное сравнение этих версий доступно здесь. Впрочем даже Nexus Open Source способен проксировать удаленные и хостить местные хранилища.
Подробности установки и настройки Nexus превосходно описаны в Nexus Book.
Краткая инструкция для Nexus Open Source:
- Установить Tomcat
- Скачать последнюю версию Nexus в виде war
- Переименовать nexus-webapp-x.x.x.war в nexus.war
- Задеплоить nexus.war используя менеджер Tomcat
После этого необходимо настроить Maven на его использование. Это делается добавлением в ~/.m2/settings.xml следующих строк:
nexus
*
http://beast-server/nexus/content/groups/public
nexus
central
http://central
true
true
central
http://central
true
true
nexus
releases
deployment
deployment123
snapshots
deployment
deployment123
Более подробно это описано в Nexus Book.
Теперь можно приступить к Erlang. Для взаимодействия с Erlang у Maven есть плагин - Erlang Maven Plugin
Его нет в публичных хранилищах, так что надо будет собрать его из исходников:
$ svn co https://maven-erlang.svn.sourceforge.net/svnroot/maven-erlang maven-erlang
Чтобы не повторять эти операции на каждом хосте который будет использовать этот плагин, его необходимо задеплоить в хранилище. Для этого необходимо добавить в pom.xml информацию о нашем хранилище в секцию distributionManagement:
$ cd ./maven-erlang/maven-erlang/trunk/
$ vim ./pom.xml
releases
http://beast-server/nexus/content/repositories/releases
snapshots
http://beast-server/nexus/content/repositories/snapshots
Теперь необходимо запустить
$ mvn deploy -Dmaven.test.skip=true
-Dmaven.test.skip=true необходим поскольку некоторые юнит тесты не проходят с последними версиями Erlang. В качестве альтернативы можно прописать версии kernel, stdlib и mnesia из вашего екземпляра Erlang в erlang-plugin/trunk/src/test/resources/mojo-test-release-1/src/main/erlang/release_name.rel и использовать
$ mvn deploy
Итог:
- Установлен Maven
- Развернуто хранилище артефактов
- В хранилище добавлен Erlang Maven Plugin
Комментариев нет:
Отправить комментарий