$ ./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.

Комментариев нет:
Отправить комментарий