Упаковка местных драгоценных камней с помощью 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".
Была проделана определенная работа по устранению проблемы в этой ветке.
Удачи!