Comments (10)
I've been considering this for a while, if you fancy patching it in, that would be great! Otherwise, it's on my todo list.
from geminabox.
I was having a look at this issue today . . . this guy seems to have a fairly easy hacky way to do it: http://www.alexrothenberg.com/2011/09/16/running-a-private-gemserver-inside-the-firewall.html
I think it would be nice to patch bundler to make rake release work like this, but still have it as a per gem configuration option to push to geminabox or rubygems.org
It seems like rubygems 1.9.0 is going to have a metadata option for the .gemspec https://github.com/rubygems/rubygems/blob/master/lib/rubygems/specification.rb so that would be a nice way to switch this functionality on with something like s.metadata = { "geminabox" => "http://gems/" }
from geminabox.
Hmm. I quite like the idea of being able to require 'geminabox/tasks'
in a Rakefile and have it just work. Having it do so if required after bundler would be doable (we can just delete the rake task and have a clean slate from there), but if bundler's tasks are loaded 2nd, death would occur.
I'll ponder, but that article is really handy for putting me on track.
from geminabox.
This seems like a cool feature, but I wouldn't want geminabox's rake tasks to replace bundler's (or the other way around). How about something like:
rake release:geminabox
from geminabox.
+1 for not replacing bundlers gemtasks. Geminabox should always have its own task-names.
The reason is simple: Type rake release
on a Gem that was not properly patched (for whatever reason) and whoops, you've just released your gem to rubygems.org. It'd be an accident waiting to happen.
from geminabox.
Also agree with the not replacing the release command. We could optionally noop the release command, and add another in it's place for true paranoia.
Pull request anyone?
from geminabox.
What should be the command if i want to release gem to local server
from geminabox.
rake gib
perhaps? 😄
I think the exact name is not so important as long as it's documented and different enough from release
that no accidents happen. It's unfortunate that bundler uses release
instead of e,g, release:rubygems
here.
I guess the aesthetically cleanest solution would be for geminabox to rename release
to release:rubygems
and add release:gib
of its own.
from geminabox.
Any progress on this (if not with the implementation, at least architecturally)? I miss being able to create a git tag and upload the gem in one automated step. If there is a consensus to how things should be handled, I'd be happy to lend a hand in the implementation.
from geminabox.
I didn't like the idea of including geminabox and all it's dependencies to a project just to provide a rake release task, so i made a dependency free gem to to that.
https://github.com/dfherr/geminabox-release
it adds rake inabox:release, inabox:push and inabox:forcepush tasks to the bundler gem_tasks by hacking into bundler gemtask interface and pushing via net/http. It can use the provided host in your geminabox config file or you can hardcode one in the initializer.
from geminabox.
Related Issues (20)
- Drop support for RubyGems before 2.5.0
- Drop support for RubyGems before 2.4.0 HOT 2
- Drop Ruby 2.2 support
- Drop Ruby 2.3 support HOT 5
- Drop Ruby 2.4 support HOT 5
- Drop Ruby 2.5 support HOT 3
- Drop Ruby 2.6 support HOT 3
- rake c warns loading "ubygems"
- Add Code of Conduct HOT 3
- Add CONTRIBUTING
- Add logo to README HOT 1
- Join good first issue platform HOT 5
- Improve bundled Dockerfile HOT 6
- How to auth per gem? HOT 1
- NameError - uninitialized constant Geminabox::VERSION HOT 12
- Support Ruby 3.2 HOT 2
- Non-Compliance with Dependency API Deprecation HOT 20
- Docker error on start: handler.rb:45:in `pick': Couldn't find handler for: puma, thin, falcon, webrick. (LoadError) HOT 1
- Update Sinatra Dependency HOT 9
- Security: Rebuild to fix multiple vulnerabilities? HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from geminabox.