Упаковка местных драгоценных камней с помощью Bundler?

У меня есть проект, над которым я работаю, который использует драгоценный камень, который мы создали внутри. Он не размещен на rubygems.org или github. Но у нас есть это в нашем хранилище и в пути на нашей локальной машине.

В нашем Gemfile у нас есть нечто похожее на это:

gem "our-custom-gem", :path => "/path-to/our-custom-gem"

Мы пытаемся упаковать все наши гемы, чтобы мы могли использовать гем warbler для создания файла.war для развертывания с использованием jRuby.

Мы хотели бы иметь возможность запускать что-то вроде "bundle install" или "bundle install --local", чтобы убедиться, что все гемы установлены. Затем сделайте, чтобы bundler взял все зависимости, указанные в нашем Gemfile, поместил их в vendor/bundle с помощью команды "bundle package".

Но, основываясь на этой ссылке (http://gembundler.com/man/bundle-package.1.html), похоже, что упаковщик не может упаковать гемы, указанные с использованием:path или:git в качестве источника.

Кто-нибудь нашел способ обойти это?

Как вы "упаковываете в пакет" гемы, которые являются локальными и не являются частью git-репо или доступны на rubygems.org?

Благодарю.

2 ответа

Последние новости!

Начиная с Bundler 1.2, команда bundle package может также упаковывать зависимости: git и: path помимо файлов.gem. Это нужно явно включить с помощью опции --all. После использования опция --all будет запомнена.

Документация: http://gembundler.com/man/bundle-package.1.html

Судя по этому запросу, эта функция запланирована на 1.1.

Один из разработчиков ядра дал этот обходной путь, хотя:

cd vendor/git
git clone git://github.com/foo/foo.git

Затем в вашем Gemfile, gem "foo",:path => "vendor/git/foo".

Была проделана определенная работа по устранению проблемы в этой ветке.

Удачи!

Другие вопросы по тегам