Closed dekz closed 11 years ago
We'll pin this to ~> 2.5.5 for now as you suggest. I need to review a few other issues then I'll push an update.
The latest capistrano 2 is 2.15.5, so it would be better to exclude version 3 this way:
gem "capistrano", '~> 2.5'
or
gem "capistrano", '>= 2.5.5', '< 3'
instead of
gem "capistrano", '~> 2.5.5'
Currently, a very old capistrano version is required by sprinkle.
Are you using it with 2.15.5 without any issues?
@yyyc514 So far I have no issues with 2.15.5
Feel free to send a pull request with a bump to ~ 2.5 then if you want.
~> 2.5
should allow >= 2.5 and < 3.0
@dekz Before Capistrano 3.0 was released, there was the requirement >= 2.5.5
. So changing it to ~> 2.5
would allow 2.5.0 too, so I think [ ">= 2.5.5", '< 3' ]
is the right way.
@ledermann You're completely right. +1
This is bad. I'm working with delivery :ssh and this prevents me from using capistrano 3 in my project.
I tried to write a capistrano 3 actor, but did not succeed yet. For now I just define my hosts for sprinkle and capistrano separately. Capistrano and sprinkle should use a Rolefile (just like a Gemfile or Procfile) or something to define hosts and roles for different environments....
For simple setups (with Cap) you just drop Sprinkle right in on top of Cap and it gets your roles from Capistrano... if you want to use a Rolefile with your capistrano there is no reason sprinkle wouldn't work with that.
Its' still pinned to 2 because the changes are quite large.
Why does using the :ssh agent prevent you from using Cap 3?
It's just a dependency problem in my gemfile. I want Capistrano 3. And Sprinkle doesn't want it. And then Bundler doesn't know what to do anymore :-)
And if you remove sprinkle from your Gemfile and just have it available locally as a utility?
Yes that would work indeed. For now I forked and applied some other customizations. But I think Sprinkle shouldn't require Capistrano anyway because you can use it without it without Capistrano anyway (via delivery :ssh)
I'd be willing to accept a patch that removed capistrano from the requirements and then Kernel#required capistrano only when needed... again the built in Cap support would only work with Cap 2, not Cap 3 but that would allow one to use a newer version of Capistrano in a projects Gemfile.
Capistrano 3.0 has been released, which is incompatible with sprinkle 0.7.6.x, the most evident feature missing is
'capistrano/cli'
.Gemspec should probably lock down Capistrano to version 2.0.
s.add_runtime_dependency(%q<capistrano>, ["~> 2.5.5"])
Instead of using>= 2.5.5
.Temporary workarounds with bundler, add
gem "capistrano", '~>2.5.5'
to users Gemfile.I think you're more leading towards running
:ssh
directly which means making it work with3.0
might be a waste of time.