This gem is a dependency free option to add a rake inabox:release task to bundler gem_tasks for releasing a new gem to your geminabox server.
The gem only uses the ruby default libaries uri and net/http and expects you are using bundler.
You must no longer require "bundler/gem_tasks" as geminabox-release requires a modified version for you which supports all other functionality!
Simply load this gem and patch with your geminabox URL in your Rakefile.
E.g.
require 'geminabox-release'
GeminaboxRelease.patch(:host => "http://localhost:4000")
or use your geminabox config file (YAML file with key :host and host url as value in ~/.gem/geminabox)
require 'geminabox-release'
GeminaboxRelease.patch(:use_config => true)
Then you will get a rake inabox:release task.
Ensure you do not require "bundler/gem_tasks" in your rakefile anymore!
The gem (theoretically) supports basic auth like geminabox in the host address. e.g. http://username:password@localhost:4000 It's untested as we didn't need it. Feel free to try it.
The gem additionally provides tasks for build & push without all the overhead release produces (like git tag and git push):
$> rake inabox:push # just builds gem and pushes to geminabox server
$> rake inabox:forcepush # builds gem and pushes to geminabox server overwriting existing same version
To ensure you are not accidentally pushing your gem to rubygems there are two distinct safety measures.
-
The rake task has another name. Do not use rake release if you want to push to your geminabox server!
-
The gem is pushed via the HTTP POST file request geminabox expects and not via the gem push interface.
If the rake tasks do not show check if you required "bundler/gem_tasks" anywhere before requiring geminabox-release.
Copyright (c) 2014 Dennis-Florian Herr @ Experteer GmbH
see LICENSE