capistrano-tags 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.document +5 -0
- data/.rspec +1 -0
- data/Gemfile +22 -0
- data/LICENSE.txt +20 -0
- data/README.markdown +94 -0
- data/Rakefile +40 -0
- data/VERSION +1 -0
- data/lib/capistrano-tags.rb +51 -0
- data/spec/capistrano-tags_spec.rb +169 -0
- data/spec/spec_helper.rb +11 -0
- metadata +236 -0
data/.document
ADDED
data/.rspec
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--color
|
data/Gemfile
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
source "http://rubygems.org"
|
2
|
+
# Add dependencies required to use your gem here.
|
3
|
+
# Example:
|
4
|
+
# gem "activesupport", ">= 2.3.5"
|
5
|
+
gem "capistrano", "~> 2.5.0"
|
6
|
+
|
7
|
+
# Add dependencies to develop your gem here.
|
8
|
+
# Include everything needed to run rake, tests, features, etc.
|
9
|
+
group :development do
|
10
|
+
gem "rspec"
|
11
|
+
gem "bundler", "~> 1.0.0"
|
12
|
+
gem "jeweler", "~> 1.6.0"
|
13
|
+
gem "rcov", ">= 0"
|
14
|
+
gem "mocha"
|
15
|
+
gem 'autotest-standalone'
|
16
|
+
gem 'autotest-rails-pure'
|
17
|
+
gem 'zentest-without-autotest'
|
18
|
+
if RUBY_PLATFORM.downcase.include?("darwin") # I'm on Mac
|
19
|
+
gem 'autotest-fsevent'
|
20
|
+
gem 'autotest-growl'
|
21
|
+
end
|
22
|
+
end
|
data/LICENSE.txt
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright (c) 2011 Fabio Napoleoni
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.markdown
ADDED
@@ -0,0 +1,94 @@
|
|
1
|
+
# capistrano-tags
|
2
|
+
|
3
|
+
Capistrano recipe for deploying svn or git tags with no need to edit the deploy file
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
gem install capistrano-tags
|
8
|
+
|
9
|
+
## Usage
|
10
|
+
|
11
|
+
In your deploy file require the capistrano-tags file after setting your variables with
|
12
|
+
|
13
|
+
require 'capistrano-tags'
|
14
|
+
|
15
|
+
### Subversion usage
|
16
|
+
|
17
|
+
You MUST set the `repository_root` variable in your config file, then you can use one of the
|
18
|
+
following strategies to change the deployed tag when invoking `cap` command (assuming you have set
|
19
|
+
`:repository_root` to `http://svn.example.org`)
|
20
|
+
|
21
|
+
1. Set the ENV variable `SVN_TAG` when invoking capistrano
|
22
|
+
|
23
|
+
$ SVN_TAG=1.0 cap:deploy # this will deploy http://svn.example.org/tags/1.0
|
24
|
+
|
25
|
+
2. Set the `:branch` variable to something i.e.
|
26
|
+
|
27
|
+
set :branch, '1.0.2' # this will deploy http://svn.example.org/tags/1.0.2
|
28
|
+
set :branch, 'branches/stable' # this will deploy http://svn.example.org/branches/stable
|
29
|
+
|
30
|
+
3. Set the ENV variable `ASK_FOR_TAG` to anything, by doing this you'll be prompted for tag to deploy
|
31
|
+
|
32
|
+
$ ASK_FOR_TAG=1 cap deploy
|
33
|
+
Tag to deploy (leave it blank to deploy from trunk or use branches/xxx to deploy that branch): 1.0.3
|
34
|
+
# this will deploy http://svn.example.org/tags/1.0.3
|
35
|
+
$ ASK_FOR_TAG=1 cap deploy
|
36
|
+
Tag to deploy (leave it blank to deploy from trunk or use branches/xxx to deploy that branch): branches/stable
|
37
|
+
# this will deploy http://svn.example.org/branches/stable
|
38
|
+
$ ASK_FOR_TAG=1 cap deploy
|
39
|
+
Tag to deploy (leave it blank to deploy from trunk or use branches/xxx to deploy that branch):
|
40
|
+
# this will deploy http://svn.example.org/trunk
|
41
|
+
|
42
|
+
4. Set the `:ask_for_tag` variable to true in your config, you'll be prompted for the tag as above
|
43
|
+
|
44
|
+
As you may have seen, when you set the `:branch` variable in any of the given way, if its value is empty,
|
45
|
+
it will be defaulted to `trunk`, so keep in mind that. Moreover if the `:branch` variable content starts with
|
46
|
+
`branches/` then a branch (instead of a tag) will be deployed. There's no need to prepend the variable with `tags`
|
47
|
+
if you just want to deploy a tag.
|
48
|
+
|
49
|
+
### Git usage
|
50
|
+
|
51
|
+
In this case there's no need to set the `:repository_root` variable, because git supports the `:branch`
|
52
|
+
variable. So you can deploy a branch or a tag by setting the `:repository` variable and then you can do
|
53
|
+
one of the following
|
54
|
+
|
55
|
+
1. Set the ENV variable `GIT_TAG` when invoking capistrano
|
56
|
+
|
57
|
+
$ GIT_TAG=1.0 cap:deploy # this will deploy refs/tags/1.0
|
58
|
+
|
59
|
+
2. Set the `:branch` variable to something i.e.
|
60
|
+
|
61
|
+
set :branch, '1.0.2' # this will deploy refs/tags/1.0.2
|
62
|
+
set :branch, 'stable' # this will deploy refs/heads/stable
|
63
|
+
|
64
|
+
3. Set the ENV variable `ASK_FOR_TAG` to anything, by doing this you'll be prompted for tag to deploy
|
65
|
+
|
66
|
+
$ ASK_FOR_TAG=1 cap deploy
|
67
|
+
Enter tag (or branch) to deploy: 1.0.3
|
68
|
+
# this will deploy refs/tags/1.0.3
|
69
|
+
$ ASK_FOR_TAG=1 cap deploy
|
70
|
+
Enter tag (or branch) to deploy: stable
|
71
|
+
# this will deploy refs/heads/stable
|
72
|
+
$ ASK_FOR_TAG=1 cap deploy
|
73
|
+
Enter tag (or branch) to deploy:
|
74
|
+
# this will deploy refs/heads/master
|
75
|
+
|
76
|
+
4. Set the `:ask_for_tag` variable to true in your config, you'll be prompted for the tag as above
|
77
|
+
|
78
|
+
In this case if the `:branch` variable is empty then the `master` branch will be deployed.
|
79
|
+
|
80
|
+
## Contributing to capistrano-tags
|
81
|
+
|
82
|
+
* Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
|
83
|
+
* Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it
|
84
|
+
* Fork the project
|
85
|
+
* Start a feature/bugfix branch
|
86
|
+
* Commit and push until you are happy with your contribution
|
87
|
+
* Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
|
88
|
+
* Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
|
89
|
+
|
90
|
+
## Copyright
|
91
|
+
|
92
|
+
Copyright (c) 2011 Fabio Napoleoni. See LICENSE.txt for
|
93
|
+
further details.
|
94
|
+
|
data/Rakefile
ADDED
@@ -0,0 +1,40 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'rubygems'
|
4
|
+
require 'bundler'
|
5
|
+
begin
|
6
|
+
Bundler.setup(:default, :development)
|
7
|
+
rescue Bundler::BundlerError => e
|
8
|
+
$stderr.puts e.message
|
9
|
+
$stderr.puts "Run `bundle install` to install missing gems"
|
10
|
+
exit e.status_code
|
11
|
+
end
|
12
|
+
require 'rake'
|
13
|
+
|
14
|
+
require 'jeweler'
|
15
|
+
Jeweler::Tasks.new do |gem|
|
16
|
+
# gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
|
17
|
+
gem.name = "capistrano-tags"
|
18
|
+
gem.homepage = "http://github.com/fabn/capistrano-tags"
|
19
|
+
gem.license = "MIT"
|
20
|
+
gem.summary = %Q{Capistrano recipe to deploy svn and git tags}
|
21
|
+
gem.description = %Q{Use this recipe if you want to be able to deploy scm tags (or branches) with no need to edit your main deploy.rb file. You can choose the deployed tag using ENV variables or interactively decide which is the tag to deploy. }
|
22
|
+
gem.email = "f.napoleoni@gmail.com"
|
23
|
+
gem.authors = ["Fabio Napoleoni"]
|
24
|
+
# dependencies defined in Gemfile
|
25
|
+
end
|
26
|
+
Jeweler::RubygemsDotOrgTasks.new
|
27
|
+
|
28
|
+
require 'rspec/core'
|
29
|
+
require 'rspec/core/rake_task'
|
30
|
+
RSpec::Core::RakeTask.new(:spec) do |spec|
|
31
|
+
spec.pattern = FileList['spec/**/*_spec.rb']
|
32
|
+
end
|
33
|
+
|
34
|
+
RSpec::Core::RakeTask.new(:rcov) do |spec|
|
35
|
+
spec.pattern = 'spec/**/*_spec.rb'
|
36
|
+
spec.rcov = true
|
37
|
+
spec.rcov_opts = '--exclude /gems/,/Library/,/usr/,lib/tasks,.bundle,config,/lib/rspec/,/lib/rspec-'
|
38
|
+
end
|
39
|
+
|
40
|
+
task :default => :spec
|
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
0.1.0
|
@@ -0,0 +1,51 @@
|
|
1
|
+
unless Capistrano::Configuration.respond_to?(:instance)
|
2
|
+
abort "capistrano-tags requires Capistrano 2"
|
3
|
+
end
|
4
|
+
|
5
|
+
Capistrano::Configuration.instance.load do
|
6
|
+
|
7
|
+
def _cset(name, *args, &block)
|
8
|
+
unless exists?(name)
|
9
|
+
set(name, *args, &block)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
# if you include this file in your deploy.rb, you can use one of the following strategies
|
14
|
+
# to change your deploy tag without editing the deploy.rb file
|
15
|
+
# Git behavior
|
16
|
+
if fetch(:scm) == :git
|
17
|
+
# * set the :branch variable in your deploy.rb (normal workflow)
|
18
|
+
# * set the GIT_TAG environment variable (it will override the branch variable)
|
19
|
+
set(:branch, ENV['GIT_TAG']) if ENV['GIT_TAG'] and !ENV['GIT_TAG'].empty?
|
20
|
+
if ENV['ASK_FOR_TAG'] or fetch(:ask_for_tag, false)
|
21
|
+
# * set the :ask_for_tag or the ASK_FOR_TAG environment variable to true to be prompted for a tag
|
22
|
+
set(:branch) do
|
23
|
+
tag = Capistrano::CLI.ui.ask "Enter tag (or branch) to deploy:"
|
24
|
+
tag.empty? ? 'HEAD' : tag
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
# Subversion behavior
|
29
|
+
if fetch(:scm) == :subversion
|
30
|
+
# * set the :branch variable in your deploy.rb (normal workflow)
|
31
|
+
# * set the SVN_TAG environment variable (it will override the branch variable)
|
32
|
+
set(:branch, ENV['SVN_TAG']) if ENV['SVN_TAG']
|
33
|
+
# * set the :ask_for_tag variable to true to be prompted for a tag
|
34
|
+
# * set the ASK_FOR_TAG environment variable to be prompted for a tag
|
35
|
+
if ENV['ASK_FOR_TAG'] or fetch(:ask_for_tag, false)
|
36
|
+
set(:branch) { Capistrano::CLI.ui.ask "Tag to deploy (leave it blank to deploy from trunk or use branches/xxx to deploy that branch): " }
|
37
|
+
end
|
38
|
+
# ensure repository root is set if using the recipe
|
39
|
+
_cset(:repository_root) { abort "You must set your :repository_root to use this recipe" }
|
40
|
+
# build the repository url
|
41
|
+
set(:repository) do
|
42
|
+
branch = fetch(:branch, '')
|
43
|
+
branch = 'trunk' if branch.empty?
|
44
|
+
branch = "tags/#{branch}" unless branch == 'trunk' or branch.start_with? 'branches/'
|
45
|
+
File.join(fetch(:repository_root), branch)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
# task for querying svn tags
|
50
|
+
# task for querying svn branches
|
51
|
+
end
|
@@ -0,0 +1,169 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
2
|
+
|
3
|
+
require 'capistrano/configuration'
|
4
|
+
require 'capistrano/cli'
|
5
|
+
|
6
|
+
describe "CapistranoTags" do
|
7
|
+
|
8
|
+
def load_gem_code
|
9
|
+
load File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib', 'capistrano-tags.rb'))
|
10
|
+
end
|
11
|
+
|
12
|
+
def stub_cli_response answer
|
13
|
+
Capistrano::CLI.ui.stubs(:ask).returns(answer)
|
14
|
+
end
|
15
|
+
|
16
|
+
before(:each) do
|
17
|
+
@config = Capistrano::Configuration.new
|
18
|
+
Capistrano::Configuration.stubs(:instance).returns(@config)
|
19
|
+
end
|
20
|
+
|
21
|
+
after(:each) do
|
22
|
+
# reset ENV variable used for test
|
23
|
+
ENV['SVN_TAG'] = nil
|
24
|
+
ENV['ASK_FOR_TAG'] = nil
|
25
|
+
end
|
26
|
+
|
27
|
+
describe "capistrano instance validation" do
|
28
|
+
|
29
|
+
it "should validate presence of :repository_root variable" do
|
30
|
+
Capistrano::Configuration.stubs(:respond_to?).returns(false)
|
31
|
+
STDERR.stubs(:write) # avoid errors output for the labmda
|
32
|
+
lambda { load_gem_code }.should raise_error SystemExit, "capistrano-tags requires Capistrano 2"
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
describe "svn behavior" do
|
37
|
+
|
38
|
+
describe "variables validation" do
|
39
|
+
|
40
|
+
it "should validate presence of :repository_root variable" do
|
41
|
+
@config.unset(:repository_root)
|
42
|
+
load_gem_code
|
43
|
+
STDERR.stubs(:write) # avoid errors output for the labmda
|
44
|
+
lambda { @config.fetch(:repository, false)}.should raise_error SystemExit, "You must set your :repository_root to use this recipe"
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
before(:each) do
|
49
|
+
@root = 'http://svn.example.org'
|
50
|
+
@config.set(:scm, :subversion)
|
51
|
+
@config.set(:repository_root, 'http://svn.example.org')
|
52
|
+
end
|
53
|
+
|
54
|
+
it "should deploy trunk with no configuration" do
|
55
|
+
load_gem_code
|
56
|
+
@config.fetch(:repository).should == File.join(@root, 'trunk')
|
57
|
+
end
|
58
|
+
|
59
|
+
it "should deploy the given tag when :branch is set" do
|
60
|
+
@config.set(:branch, '1.0')
|
61
|
+
load_gem_code
|
62
|
+
@config.fetch(:repository).should == File.join(@root, 'tags', '1.0')
|
63
|
+
end
|
64
|
+
|
65
|
+
it "should deploy the given branch when :branch starts with branches/" do
|
66
|
+
@config.set(:branch, 'branches/stable')
|
67
|
+
load_gem_code
|
68
|
+
@config.fetch(:repository).should == File.join(@root, 'branches', 'stable')
|
69
|
+
end
|
70
|
+
|
71
|
+
it "should deploy the given tag when ENV['SVN_TAG'] is set" do
|
72
|
+
ENV['SVN_TAG'] = '1.0'
|
73
|
+
load_gem_code
|
74
|
+
@config.fetch(:repository).should == File.join(@root, 'tags', '1.0')
|
75
|
+
end
|
76
|
+
|
77
|
+
it "should deploy the given branch when ENV['SVN_TAG'] starts with 'branches/'" do
|
78
|
+
ENV['SVN_TAG'] = 'branches/stable'
|
79
|
+
load_gem_code
|
80
|
+
@config.fetch(:repository).should == File.join(@root, 'branches', 'stable')
|
81
|
+
end
|
82
|
+
|
83
|
+
it "should ask for tag when ENV['ASK_FOR_TAG'] is set" do
|
84
|
+
ENV['ASK_FOR_TAG'] = '1'
|
85
|
+
stub_cli_response '1.0.2'
|
86
|
+
load_gem_code
|
87
|
+
@config.fetch(:repository).should == File.join(@root, 'tags', '1.0.2')
|
88
|
+
end
|
89
|
+
|
90
|
+
it "should deploy the given branch location when answer starts with 'branches/'" do
|
91
|
+
ENV['ASK_FOR_TAG'] = '1'
|
92
|
+
stub_cli_response 'branches/stable'
|
93
|
+
load_gem_code
|
94
|
+
@config.fetch(:repository).should == File.join(@root, 'branches', 'stable')
|
95
|
+
end
|
96
|
+
|
97
|
+
it "should deploy trunk location when cli answer is empty" do
|
98
|
+
ENV['ASK_FOR_TAG'] = '1'
|
99
|
+
stub_cli_response ''
|
100
|
+
load_gem_code
|
101
|
+
@config.fetch(:repository).should == File.join(@root, 'trunk')
|
102
|
+
end
|
103
|
+
|
104
|
+
it "should ask for tag when ask_for_tag is set to true" do
|
105
|
+
@config.set(:ask_for_tag, true)
|
106
|
+
stub_cli_response '1.0.2'
|
107
|
+
load_gem_code
|
108
|
+
@config.fetch(:repository).should == File.join(@root, 'tags', '1.0.2')
|
109
|
+
end
|
110
|
+
end
|
111
|
+
|
112
|
+
describe "git behavior" do
|
113
|
+
|
114
|
+
require 'capistrano/recipes/deploy/scm/git'
|
115
|
+
class TestSCM < Capistrano::Deploy::SCM::Git
|
116
|
+
default_command "git"
|
117
|
+
end
|
118
|
+
|
119
|
+
before(:each) do
|
120
|
+
@config.set(:scm, :git)
|
121
|
+
@config.set(:repository, 'git://github.com/fabn/capistrano-tags.git')
|
122
|
+
@source = TestSCM.new(@config)
|
123
|
+
end
|
124
|
+
|
125
|
+
it "should deploy HEAD branch with no configuration" do
|
126
|
+
load_gem_code
|
127
|
+
TestSCM.new(@config).head.should == 'HEAD'
|
128
|
+
end
|
129
|
+
|
130
|
+
it "should deploy the given tag (or branch) when :branch is set" do
|
131
|
+
@config.set(:branch, '1.0')
|
132
|
+
load_gem_code
|
133
|
+
TestSCM.new(@config).head.should == '1.0'
|
134
|
+
end
|
135
|
+
|
136
|
+
it "should deploy the given tag (or branch) when ENV['GIT_TAG'] is set" do
|
137
|
+
ENV['GIT_TAG'] = '1.0'
|
138
|
+
load_gem_code
|
139
|
+
TestSCM.new(@config).head.should == '1.0'
|
140
|
+
end
|
141
|
+
|
142
|
+
it "should deploy HEAD when ENV['GIT_TAG'] is empty" do
|
143
|
+
ENV['GIT_TAG'] = ''
|
144
|
+
load_gem_code
|
145
|
+
TestSCM.new(@config).head.should == 'HEAD'
|
146
|
+
end
|
147
|
+
|
148
|
+
it "should ask for tag (or branch) when ENV['ASK_FOR_TAG'] is set" do
|
149
|
+
ENV['ASK_FOR_TAG'] = '1'
|
150
|
+
stub_cli_response '1.0.2'
|
151
|
+
load_gem_code
|
152
|
+
TestSCM.new(@config).head.should == '1.0.2'
|
153
|
+
end
|
154
|
+
|
155
|
+
it "should deploy HEAD when cli answer is empty" do
|
156
|
+
ENV['ASK_FOR_TAG'] = '1'
|
157
|
+
stub_cli_response ''
|
158
|
+
load_gem_code
|
159
|
+
TestSCM.new(@config).head.should == 'HEAD'
|
160
|
+
end
|
161
|
+
|
162
|
+
it "should ask for tag when ask_for_tag is set to true" do
|
163
|
+
@config.set(:ask_for_tag, true)
|
164
|
+
stub_cli_response '1.0.2'
|
165
|
+
load_gem_code
|
166
|
+
TestSCM.new(@config).head.should == '1.0.2'
|
167
|
+
end
|
168
|
+
end
|
169
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
2
|
+
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
3
|
+
require 'rspec'
|
4
|
+
|
5
|
+
# Requires supporting files with custom matchers and macros, etc,
|
6
|
+
# in ./support/ and its subdirectories.
|
7
|
+
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
|
8
|
+
|
9
|
+
RSpec.configure do |config|
|
10
|
+
config.mock_with :mocha
|
11
|
+
end
|
metadata
ADDED
@@ -0,0 +1,236 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: capistrano-tags
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 27
|
5
|
+
prerelease: false
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 1
|
9
|
+
- 0
|
10
|
+
version: 0.1.0
|
11
|
+
platform: ruby
|
12
|
+
authors:
|
13
|
+
- Fabio Napoleoni
|
14
|
+
autorequire:
|
15
|
+
bindir: bin
|
16
|
+
cert_chain: []
|
17
|
+
|
18
|
+
date: 2011-05-04 00:00:00 +02:00
|
19
|
+
default_executable:
|
20
|
+
dependencies:
|
21
|
+
- !ruby/object:Gem::Dependency
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
name: capistrano
|
25
|
+
version_requirements: &id001 !ruby/object:Gem::Requirement
|
26
|
+
none: false
|
27
|
+
requirements:
|
28
|
+
- - ~>
|
29
|
+
- !ruby/object:Gem::Version
|
30
|
+
hash: 27
|
31
|
+
segments:
|
32
|
+
- 2
|
33
|
+
- 5
|
34
|
+
- 0
|
35
|
+
version: 2.5.0
|
36
|
+
requirement: *id001
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
type: :development
|
39
|
+
prerelease: false
|
40
|
+
name: rspec
|
41
|
+
version_requirements: &id002 !ruby/object:Gem::Requirement
|
42
|
+
none: false
|
43
|
+
requirements:
|
44
|
+
- - ">="
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
hash: 3
|
47
|
+
segments:
|
48
|
+
- 0
|
49
|
+
version: "0"
|
50
|
+
requirement: *id002
|
51
|
+
- !ruby/object:Gem::Dependency
|
52
|
+
type: :development
|
53
|
+
prerelease: false
|
54
|
+
name: bundler
|
55
|
+
version_requirements: &id003 !ruby/object:Gem::Requirement
|
56
|
+
none: false
|
57
|
+
requirements:
|
58
|
+
- - ~>
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
hash: 23
|
61
|
+
segments:
|
62
|
+
- 1
|
63
|
+
- 0
|
64
|
+
- 0
|
65
|
+
version: 1.0.0
|
66
|
+
requirement: *id003
|
67
|
+
- !ruby/object:Gem::Dependency
|
68
|
+
type: :development
|
69
|
+
prerelease: false
|
70
|
+
name: jeweler
|
71
|
+
version_requirements: &id004 !ruby/object:Gem::Requirement
|
72
|
+
none: false
|
73
|
+
requirements:
|
74
|
+
- - ~>
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
hash: 15
|
77
|
+
segments:
|
78
|
+
- 1
|
79
|
+
- 6
|
80
|
+
- 0
|
81
|
+
version: 1.6.0
|
82
|
+
requirement: *id004
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
type: :development
|
85
|
+
prerelease: false
|
86
|
+
name: rcov
|
87
|
+
version_requirements: &id005 !ruby/object:Gem::Requirement
|
88
|
+
none: false
|
89
|
+
requirements:
|
90
|
+
- - ">="
|
91
|
+
- !ruby/object:Gem::Version
|
92
|
+
hash: 3
|
93
|
+
segments:
|
94
|
+
- 0
|
95
|
+
version: "0"
|
96
|
+
requirement: *id005
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
type: :development
|
99
|
+
prerelease: false
|
100
|
+
name: mocha
|
101
|
+
version_requirements: &id006 !ruby/object:Gem::Requirement
|
102
|
+
none: false
|
103
|
+
requirements:
|
104
|
+
- - ">="
|
105
|
+
- !ruby/object:Gem::Version
|
106
|
+
hash: 3
|
107
|
+
segments:
|
108
|
+
- 0
|
109
|
+
version: "0"
|
110
|
+
requirement: *id006
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
type: :development
|
113
|
+
prerelease: false
|
114
|
+
name: autotest-standalone
|
115
|
+
version_requirements: &id007 !ruby/object:Gem::Requirement
|
116
|
+
none: false
|
117
|
+
requirements:
|
118
|
+
- - ">="
|
119
|
+
- !ruby/object:Gem::Version
|
120
|
+
hash: 3
|
121
|
+
segments:
|
122
|
+
- 0
|
123
|
+
version: "0"
|
124
|
+
requirement: *id007
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
type: :development
|
127
|
+
prerelease: false
|
128
|
+
name: autotest-rails-pure
|
129
|
+
version_requirements: &id008 !ruby/object:Gem::Requirement
|
130
|
+
none: false
|
131
|
+
requirements:
|
132
|
+
- - ">="
|
133
|
+
- !ruby/object:Gem::Version
|
134
|
+
hash: 3
|
135
|
+
segments:
|
136
|
+
- 0
|
137
|
+
version: "0"
|
138
|
+
requirement: *id008
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
type: :development
|
141
|
+
prerelease: false
|
142
|
+
name: zentest-without-autotest
|
143
|
+
version_requirements: &id009 !ruby/object:Gem::Requirement
|
144
|
+
none: false
|
145
|
+
requirements:
|
146
|
+
- - ">="
|
147
|
+
- !ruby/object:Gem::Version
|
148
|
+
hash: 3
|
149
|
+
segments:
|
150
|
+
- 0
|
151
|
+
version: "0"
|
152
|
+
requirement: *id009
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
type: :development
|
155
|
+
prerelease: false
|
156
|
+
name: autotest-fsevent
|
157
|
+
version_requirements: &id010 !ruby/object:Gem::Requirement
|
158
|
+
none: false
|
159
|
+
requirements:
|
160
|
+
- - ">="
|
161
|
+
- !ruby/object:Gem::Version
|
162
|
+
hash: 3
|
163
|
+
segments:
|
164
|
+
- 0
|
165
|
+
version: "0"
|
166
|
+
requirement: *id010
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
type: :development
|
169
|
+
prerelease: false
|
170
|
+
name: autotest-growl
|
171
|
+
version_requirements: &id011 !ruby/object:Gem::Requirement
|
172
|
+
none: false
|
173
|
+
requirements:
|
174
|
+
- - ">="
|
175
|
+
- !ruby/object:Gem::Version
|
176
|
+
hash: 3
|
177
|
+
segments:
|
178
|
+
- 0
|
179
|
+
version: "0"
|
180
|
+
requirement: *id011
|
181
|
+
description: "Use this recipe if you want to be able to deploy scm tags (or branches) with no need to edit your main deploy.rb file. You can choose the deployed tag using ENV variables or interactively decide which is the tag to deploy. "
|
182
|
+
email: f.napoleoni@gmail.com
|
183
|
+
executables: []
|
184
|
+
|
185
|
+
extensions: []
|
186
|
+
|
187
|
+
extra_rdoc_files:
|
188
|
+
- LICENSE.txt
|
189
|
+
- README.markdown
|
190
|
+
files:
|
191
|
+
- .document
|
192
|
+
- .rspec
|
193
|
+
- Gemfile
|
194
|
+
- LICENSE.txt
|
195
|
+
- README.markdown
|
196
|
+
- Rakefile
|
197
|
+
- VERSION
|
198
|
+
- lib/capistrano-tags.rb
|
199
|
+
- spec/capistrano-tags_spec.rb
|
200
|
+
- spec/spec_helper.rb
|
201
|
+
has_rdoc: true
|
202
|
+
homepage: http://github.com/fabn/capistrano-tags
|
203
|
+
licenses:
|
204
|
+
- MIT
|
205
|
+
post_install_message:
|
206
|
+
rdoc_options: []
|
207
|
+
|
208
|
+
require_paths:
|
209
|
+
- lib
|
210
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
211
|
+
none: false
|
212
|
+
requirements:
|
213
|
+
- - ">="
|
214
|
+
- !ruby/object:Gem::Version
|
215
|
+
hash: 3
|
216
|
+
segments:
|
217
|
+
- 0
|
218
|
+
version: "0"
|
219
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
220
|
+
none: false
|
221
|
+
requirements:
|
222
|
+
- - ">="
|
223
|
+
- !ruby/object:Gem::Version
|
224
|
+
hash: 3
|
225
|
+
segments:
|
226
|
+
- 0
|
227
|
+
version: "0"
|
228
|
+
requirements: []
|
229
|
+
|
230
|
+
rubyforge_project:
|
231
|
+
rubygems_version: 1.3.7
|
232
|
+
signing_key:
|
233
|
+
specification_version: 3
|
234
|
+
summary: Capistrano recipe to deploy svn and git tags
|
235
|
+
test_files: []
|
236
|
+
|