Как правильно оформить упаковку с JRuby?

1

Я кодирую проект, который использует JRuby, и я хочу, чтобы иметь возможность делать три вещи в одной команде, сразу после битвы после клонирования репозитория.

  1. Установите зависимости rubygem.
  2. Установите зависимости maven.
  3. Упакуйте все в отдельную банку, включая jruby.

Каков самый простой и самый прямой способ достичь этого? Возможно, я мог бы взломать пользовательские команды сборки в моем pom.xml, но похоже, что другие люди, должно быть, хотели это сделать раньше. Я не хочу возиться со сценарием оболочки, который загружает материал через maven, а затем перетаскивает мой ruby-код в ruby-complete.jar, после того как "java -jar ruby-complete.jar -S gem install" ing my gems ", Я хочу простой декларативный файл, который гласит: "это зависимости, теперь проанализируйте меня и выясните, как получить то, что хочет cheshircat".

Есть ли способ сделать это с помощью maven? Я пробовал jbundler, но он продолжает давать мне ошибки, и я пробовал его на нескольких платформах.

Теги:
maven
jruby

2 ответа

2

Я бы посмотрел на крутящий момент jruby-maven-plugins. Я использую их для своей работы, чтобы выполнить два из трех требований, которые вы перечисляете:

  1. "Установить зависимости rubygem" с помощью gem-maven-plugin
  2. "Установите maven plugins", как и любой другой плагин, потому что maven и maven управляют сборкой и упаковкой.

Драгоценные камни устанавливаются в ваш каталог. /target/rubygems.

Я уверен, что вы можете собрать все, что хотите, с помощью maven-jar-plugin.

Я написал более подробное объяснение:

http://thechurchofautomation.com/java-ruby-interoperability-torquebox-maven-plugins/

1

Не уверен в зависимостях от maven, но в целом warbler - это инструмент, который вы хотите для упаковки всего, включая jruby и gem dependencies, в отдельную банку.

https://github.com/jruby/warbler

Это будет делать как.war, так и.jar. Если ваша вещь не похожа на webapp (у нее нет файла rack.up), она будет делать банку, хотя именно то, что вы хотите.

Он не нуждается в дополнительной декларативной конфигурации, он просто использует то, что у вас уже есть, например Gemfile.

Возможно, вам придется сделать maven в качестве дополнительного шага, но вы могли бы попросить совета у камышей за советом.

  • 0
    Как я могу связаться с певчими?
  • 0
    Вы не ... их заняты, как они - попробуйте прочитать README / Wiki :)!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню