$ ./configure --prefix=/tmp/erlang
$ make install
$ cd /tmp/erlang/lib/erlang/
Архиватор используемый Maven по умолчанию некорректно распаковывает ссылки из tar.gz. Для распаковки можно воспользоваться Exec Maven Plugin или не включать их в архив. Ссылка будет создана при вызове скрипта Install, так что я ее просто удаляю.
$ rm ./bin/epmd
Потом архивирую всю директорию и деплою получившийся архив в свое хранилище.
$ tar -czf ../erlang-R13B4-linux_x86_64.tar.gz ./
$ mvn deploy:deploy-file -DartifactId=erlang-otp -Dpackaging=tar.gz \
-DgroupId=local.test.erlang.linux-x86-64 -Dversion=R13B4 \
-Dfile=../erlang-R13B4-linux_x86_64.tar.gz \
-Durl=http://beast-server/nexus/content/repositories/releases \
-DrepositoryId=releases
Подключение не составляет проблемы, но развертывание дистрибутива Erlang будет производиться каждый раз при прохождении фазы обработки ресурсов. Что бы дистрибутив разворачивался только один раз, операции относящиеся к развертыванию можно вынести в профиль, который активируется основываясь на отсутствии файлов. Подробности о профилях Maven можно узнать из Introduction to Build Profiles.
4.0.0
local.erlang.test
test-erlang-maven
erlang-otp
1.0-SNAPSHOT
A custom Erlang project
http://www.myorganization.org
local.test.erlang.linux-x86-64
erlang-otp
R13B4
tar.gz
compile
net.sf.maven-erlang
erlang-plugin
true
${project.build.directory}/erlang
true
true
false
true
true
net.sf.maven-erlang
erlang-plugin
maven-surefire-report-plugin
setup_erlang_dist
target/erlang/Install
org.apache.maven.plugins
maven-dependency-plugin
unpack-erlang-dist
process-resources
unpack
local.test.erlang.linux-x86-64
erlang-otp
R13B4
tar.gz
false
${project.build.directory}/erlang
org.codehaus.mojo
exec-maven-plugin
1.1
configure-erlang-dist
process-resources
exec
${project.build.directory}/erlang/Install
-sasl
${project.build.directory}/erlang
Теперь можно проверить работу:
$ mvn package
При первом запуске будет развернут дистрибутив Erlang, что потребует некоторое время. При последующих запусках дистрибутив Erlang уже будет существовать и они будут выполняться гораздо быстрее.
Итог: Дистрибутив Erlang добавлен в хранилище артефактов как артефакт и доступен любому хосту использующему это хранилище. Дистрибутив Erlang может быть подключен к проекту и развернут при необходимости. Кроме распаковки можно так же произвести дополнительную настройку используя, к примеру, Exec Maven Plugin.
Комментариев нет:
Отправить комментарий