capflow 0.7.0 → 0.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Gemfile +5 -6
- data/VERSION +1 -1
- data/capflow.gemspec +2 -1
- data/lib/capflow.rb +1 -18
- data/lib/capistrano/capflow.rb +11 -6
- data/lib/capistrano/helpers/capflow_helper.rb +57 -0
- data/lib/tasks/capflow.rake +1 -37
- metadata +42 -41
data/Gemfile
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
source "http://rubygems.org"
|
2
|
-
|
2
|
+
# Add dependencies required to use your gem here.
|
3
|
+
# Example:
|
4
|
+
# gem "activesupport", ">= 2.3.5"
|
3
5
|
gem 'capistrano'
|
4
6
|
gem 'stringex'
|
5
|
-
gem 'hashie'
|
6
7
|
gem 'versionomy'
|
7
8
|
gem 'rainbow'
|
8
|
-
|
9
|
-
|
9
|
+
# Add dependencies to develop your gem here.
|
10
|
+
# Include everything needed to run rake, tests, features, etc.
|
10
11
|
group :development do
|
11
12
|
gem "shoulda", "~> 3.0.0.beta2"
|
12
13
|
gem 'active_support'
|
@@ -17,5 +18,3 @@ group :development do
|
|
17
18
|
gem "jeweler", "~> 1.6.4"
|
18
19
|
gem "rcov", ">= 0"
|
19
20
|
end
|
20
|
-
|
21
|
-
gemspec
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
0.8.3
|
data/capflow.gemspec
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "capflow"
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.8.2"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Spencer Markowski"]
|
@@ -29,6 +29,7 @@ Gem::Specification.new do |s|
|
|
29
29
|
"features/support/env.rb",
|
30
30
|
"lib/capflow.rb",
|
31
31
|
"lib/capistrano/capflow.rb",
|
32
|
+
"lib/capistrano/helpers/capflow_helper.rb",
|
32
33
|
"lib/railtie.rb",
|
33
34
|
"lib/tasks/capflow.rake",
|
34
35
|
"recipes/capflow_recipes.rb",
|
data/lib/capflow.rb
CHANGED
@@ -1,22 +1,5 @@
|
|
1
1
|
require 'capflow/configuration'
|
2
2
|
require 'capflow/version'
|
3
|
-
|
4
|
-
if defined?(Bundler)
|
5
|
-
#Bundler.setup
|
6
|
-
#Bundler.require(:default)
|
7
|
-
end
|
8
|
-
|
9
3
|
module Capflow
|
10
|
-
|
11
|
-
if defined?(Rails)
|
12
|
-
require 'railtie'
|
13
|
-
Capflow::Version.base_dir = Rails.root
|
14
|
-
end
|
15
|
-
|
16
|
-
def self.root
|
17
|
-
File.expand_path '../..', __FILE__
|
18
|
-
end
|
19
|
-
|
20
|
-
Configuration.load! Configuration::PROJECT_CONFIG_FILE if Capflow::Configuration.project_settings?
|
21
|
-
|
4
|
+
require 'railtie' if defined?(Rails)
|
22
5
|
end
|
data/lib/capistrano/capflow.rb
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
require 'capistrano'
|
2
|
-
require
|
2
|
+
require 'capistrano/helpers/capflow_helper'
|
3
3
|
require 'versionomy'
|
4
4
|
require 'stringex'
|
5
5
|
require 'rainbow'
|
6
6
|
|
7
7
|
module Capistrano
|
8
|
-
class
|
8
|
+
class Capflow
|
9
9
|
trap("SIGINT") { puts "Leaving Capflow!".color(:red); exit }
|
10
10
|
# I gave up for now, since namespace can't call include
|
11
11
|
# include Capistrano::Helpers::CapflowHelper
|
@@ -51,19 +51,24 @@ module Capistrano
|
|
51
51
|
end
|
52
52
|
|
53
53
|
def available_tags
|
54
|
-
Capistrano::CLI.ui.say "Available Tags:"
|
55
|
-
Capistrano::CLI.ui.say "#{
|
54
|
+
Capistrano::CLI.ui.say "Available Tags:"
|
55
|
+
Capistrano::CLI.ui.say "#{non_release_tags.join("\n")}"
|
56
56
|
end
|
57
57
|
|
58
58
|
def available_releases
|
59
59
|
Capistrano::CLI.ui.say "\nAvailable Releases:".color :green
|
60
|
-
Capistrano::CLI.ui.say "#{releases.reverse.
|
60
|
+
Capistrano::CLI.ui.say "#{releases.sort.reverse.join("\n")}"
|
61
61
|
end
|
62
62
|
|
63
63
|
def banner
|
64
64
|
|
65
65
|
<<-BANNER
|
66
66
|
\nCapflow for Gitflow
|
67
|
+
,-------------.
|
68
|
+
(o) _ __ _____ )--.
|
69
|
+
`-------------' )
|
70
|
+
( /
|
71
|
+
`---'
|
67
72
|
BANNER
|
68
73
|
end
|
69
74
|
|
@@ -188,5 +193,5 @@ Please make sure you have pulled and pushed all code before deploying:
|
|
188
193
|
end
|
189
194
|
|
190
195
|
if Capistrano::Configuration.instance
|
191
|
-
Capistrano::
|
196
|
+
Capistrano::Capflow.load_into(Capistrano::Configuration.instance)
|
192
197
|
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
module Capistrano
|
2
|
+
module Helpers
|
3
|
+
module CapflowHelper
|
4
|
+
|
5
|
+
def who
|
6
|
+
identity = (`git config user.name` || `whoami`)
|
7
|
+
identity.chomp.to_url
|
8
|
+
end
|
9
|
+
|
10
|
+
def tags
|
11
|
+
`git tag`.split("\n").compact
|
12
|
+
end
|
13
|
+
|
14
|
+
def non_release_tags
|
15
|
+
tags - releases
|
16
|
+
end
|
17
|
+
|
18
|
+
def current_branch
|
19
|
+
branches.select{|b| b =~ /^\*\s/}.first.gsub(/^\*\s/,"")
|
20
|
+
end
|
21
|
+
|
22
|
+
def branches
|
23
|
+
`git branch --no-color`.split("\n")
|
24
|
+
end
|
25
|
+
|
26
|
+
def version_tag_prefix
|
27
|
+
`git config gitflow.prefix.versiontag`.split("\n").first
|
28
|
+
end
|
29
|
+
|
30
|
+
def releases
|
31
|
+
tags.select{|t| t =~ /^#{version_tag_prefix}(\d+)/}
|
32
|
+
end
|
33
|
+
|
34
|
+
def latest_release
|
35
|
+
releases.sort{|x,y| x.split(version_tag_prefix).last <=> y.split(version_tag_prefix).last}.last
|
36
|
+
end
|
37
|
+
|
38
|
+
def available_tags
|
39
|
+
Capistrano::CLI.ui.say "Available Tags:"
|
40
|
+
Capistrano::CLI.ui.say "#{non_release_tags.join("\n")}"
|
41
|
+
end
|
42
|
+
|
43
|
+
def available_releases
|
44
|
+
Capistrano::CLI.ui.say "\nAvailable Releases:"
|
45
|
+
Capistrano::CLI.ui.say "#{releases.join("\n")}"
|
46
|
+
end
|
47
|
+
|
48
|
+
def banner
|
49
|
+
|
50
|
+
<<-BANNER
|
51
|
+
\nCapflow for Gitflow
|
52
|
+
BANNER
|
53
|
+
end
|
54
|
+
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
data/lib/tasks/capflow.rake
CHANGED
@@ -29,43 +29,7 @@ end
|
|
29
29
|
|
30
30
|
namespace :capflow do
|
31
31
|
desc "Show available releases"
|
32
|
-
task :releases do
|
32
|
+
task :releases do
|
33
33
|
puts `git tag`.split("\n").compact.collect{|version| Versionomy.parse(version)}.sort.reverse
|
34
|
-
exit
|
35
|
-
end
|
36
|
-
|
37
|
-
task :configuration do
|
38
|
-
puts "Gitflow"
|
39
|
-
Capflow::Configuration.ablerc.stub.generate :local
|
40
|
-
exit
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
# from https://github.com/technicalpickles/jeweler/blob/master/lib/jeweler/tasks.rb
|
45
|
-
namespace :version do
|
46
|
-
desc "Writes out an explicit version. Respects the following environment variables, or defaults to 0: MAJOR, MINOR, PATCH. Also recognizes BUILD, which defaults to nil"
|
47
|
-
task :write do
|
48
|
-
version = Capflow::Version.write_version( :major => ENV['MAJOR'].to_i, :minor => ENV['MINOR'].to_i, :tiny => ENV['PATCH'].to_i, :build => (ENV['BUILD'] || nil ) )
|
49
|
-
$stdout.puts "Updated version: #{version.to_s}"
|
50
|
-
end
|
51
|
-
|
52
|
-
namespace :bump do
|
53
|
-
desc "Bump the major version by 1"
|
54
|
-
task :major => [:version_required, :version] do
|
55
|
-
#jeweler.bump_major_version
|
56
|
-
$stdout.puts "Updated version: #{jeweler.version}"
|
57
|
-
end
|
58
|
-
|
59
|
-
desc "Bump the a minor version by 1"
|
60
|
-
task :minor => [:version_required, :version] do
|
61
|
-
#jeweler.bump_minor_version
|
62
|
-
$stdout.puts "Updated version: #{jeweler.version}"
|
63
|
-
end
|
64
|
-
|
65
|
-
desc "Bump the patch version by 1"
|
66
|
-
task :patch => [:version_required, :version] do
|
67
|
-
#jeweler.bump_patch_version
|
68
|
-
$stdout.puts "Updated version: #{jeweler.version}"
|
69
|
-
end
|
70
34
|
end
|
71
35
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capflow
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 59
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
-
|
10
|
-
version: 0.
|
8
|
+
- 8
|
9
|
+
- 2
|
10
|
+
version: 0.8.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Spencer Markowski
|
@@ -18,6 +18,8 @@ cert_chain: []
|
|
18
18
|
date: 2013-03-07 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
|
+
name: capistrano
|
22
|
+
prerelease: false
|
21
23
|
requirement: &id001 !ruby/object:Gem::Requirement
|
22
24
|
none: false
|
23
25
|
requirements:
|
@@ -27,11 +29,11 @@ dependencies:
|
|
27
29
|
segments:
|
28
30
|
- 0
|
29
31
|
version: "0"
|
30
|
-
version_requirements: *id001
|
31
|
-
name: capistrano
|
32
|
-
prerelease: false
|
33
32
|
type: :runtime
|
33
|
+
version_requirements: *id001
|
34
34
|
- !ruby/object:Gem::Dependency
|
35
|
+
name: stringex
|
36
|
+
prerelease: false
|
35
37
|
requirement: &id002 !ruby/object:Gem::Requirement
|
36
38
|
none: false
|
37
39
|
requirements:
|
@@ -41,11 +43,11 @@ dependencies:
|
|
41
43
|
segments:
|
42
44
|
- 0
|
43
45
|
version: "0"
|
44
|
-
version_requirements: *id002
|
45
|
-
name: stringex
|
46
|
-
prerelease: false
|
47
46
|
type: :runtime
|
47
|
+
version_requirements: *id002
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
|
+
name: versionomy
|
50
|
+
prerelease: false
|
49
51
|
requirement: &id003 !ruby/object:Gem::Requirement
|
50
52
|
none: false
|
51
53
|
requirements:
|
@@ -55,11 +57,11 @@ dependencies:
|
|
55
57
|
segments:
|
56
58
|
- 0
|
57
59
|
version: "0"
|
58
|
-
version_requirements: *id003
|
59
|
-
name: versionomy
|
60
|
-
prerelease: false
|
61
60
|
type: :runtime
|
61
|
+
version_requirements: *id003
|
62
62
|
- !ruby/object:Gem::Dependency
|
63
|
+
name: rainbow
|
64
|
+
prerelease: false
|
63
65
|
requirement: &id004 !ruby/object:Gem::Requirement
|
64
66
|
none: false
|
65
67
|
requirements:
|
@@ -69,17 +71,17 @@ dependencies:
|
|
69
71
|
segments:
|
70
72
|
- 0
|
71
73
|
version: "0"
|
72
|
-
version_requirements: *id004
|
73
|
-
name: rainbow
|
74
|
-
prerelease: false
|
75
74
|
type: :runtime
|
75
|
+
version_requirements: *id004
|
76
76
|
- !ruby/object:Gem::Dependency
|
77
|
+
name: shoulda
|
78
|
+
prerelease: false
|
77
79
|
requirement: &id005 !ruby/object:Gem::Requirement
|
78
80
|
none: false
|
79
81
|
requirements:
|
80
82
|
- - ~>
|
81
83
|
- !ruby/object:Gem::Version
|
82
|
-
hash:
|
84
|
+
hash: 206029515
|
83
85
|
segments:
|
84
86
|
- 3
|
85
87
|
- 0
|
@@ -87,11 +89,11 @@ dependencies:
|
|
87
89
|
- beta
|
88
90
|
- 2
|
89
91
|
version: 3.0.0.beta2
|
90
|
-
version_requirements: *id005
|
91
|
-
name: shoulda
|
92
|
-
prerelease: false
|
93
92
|
type: :development
|
93
|
+
version_requirements: *id005
|
94
94
|
- !ruby/object:Gem::Dependency
|
95
|
+
name: active_support
|
96
|
+
prerelease: false
|
95
97
|
requirement: &id006 !ruby/object:Gem::Requirement
|
96
98
|
none: false
|
97
99
|
requirements:
|
@@ -101,11 +103,11 @@ dependencies:
|
|
101
103
|
segments:
|
102
104
|
- 0
|
103
105
|
version: "0"
|
104
|
-
version_requirements: *id006
|
105
|
-
name: active_support
|
106
|
-
prerelease: false
|
107
106
|
type: :development
|
107
|
+
version_requirements: *id006
|
108
108
|
- !ruby/object:Gem::Dependency
|
109
|
+
name: i18n
|
110
|
+
prerelease: false
|
109
111
|
requirement: &id007 !ruby/object:Gem::Requirement
|
110
112
|
none: false
|
111
113
|
requirements:
|
@@ -115,11 +117,11 @@ dependencies:
|
|
115
117
|
segments:
|
116
118
|
- 0
|
117
119
|
version: "0"
|
118
|
-
version_requirements: *id007
|
119
|
-
name: i18n
|
120
|
-
prerelease: false
|
121
120
|
type: :development
|
121
|
+
version_requirements: *id007
|
122
122
|
- !ruby/object:Gem::Dependency
|
123
|
+
name: minitest-rg
|
124
|
+
prerelease: false
|
123
125
|
requirement: &id008 !ruby/object:Gem::Requirement
|
124
126
|
none: false
|
125
127
|
requirements:
|
@@ -129,11 +131,11 @@ dependencies:
|
|
129
131
|
segments:
|
130
132
|
- 0
|
131
133
|
version: "0"
|
132
|
-
version_requirements: *id008
|
133
|
-
name: minitest-rg
|
134
|
-
prerelease: false
|
135
134
|
type: :development
|
135
|
+
version_requirements: *id008
|
136
136
|
- !ruby/object:Gem::Dependency
|
137
|
+
name: cucumber
|
138
|
+
prerelease: false
|
137
139
|
requirement: &id009 !ruby/object:Gem::Requirement
|
138
140
|
none: false
|
139
141
|
requirements:
|
@@ -143,11 +145,11 @@ dependencies:
|
|
143
145
|
segments:
|
144
146
|
- 0
|
145
147
|
version: "0"
|
146
|
-
version_requirements: *id009
|
147
|
-
name: cucumber
|
148
|
-
prerelease: false
|
149
148
|
type: :development
|
149
|
+
version_requirements: *id009
|
150
150
|
- !ruby/object:Gem::Dependency
|
151
|
+
name: bundler
|
152
|
+
prerelease: false
|
151
153
|
requirement: &id010 !ruby/object:Gem::Requirement
|
152
154
|
none: false
|
153
155
|
requirements:
|
@@ -157,11 +159,11 @@ dependencies:
|
|
157
159
|
segments:
|
158
160
|
- 0
|
159
161
|
version: "0"
|
160
|
-
version_requirements: *id010
|
161
|
-
name: bundler
|
162
|
-
prerelease: false
|
163
162
|
type: :development
|
163
|
+
version_requirements: *id010
|
164
164
|
- !ruby/object:Gem::Dependency
|
165
|
+
name: jeweler
|
166
|
+
prerelease: false
|
165
167
|
requirement: &id011 !ruby/object:Gem::Requirement
|
166
168
|
none: false
|
167
169
|
requirements:
|
@@ -173,11 +175,11 @@ dependencies:
|
|
173
175
|
- 6
|
174
176
|
- 4
|
175
177
|
version: 1.6.4
|
176
|
-
version_requirements: *id011
|
177
|
-
name: jeweler
|
178
|
-
prerelease: false
|
179
178
|
type: :development
|
179
|
+
version_requirements: *id011
|
180
180
|
- !ruby/object:Gem::Dependency
|
181
|
+
name: rcov
|
182
|
+
prerelease: false
|
181
183
|
requirement: &id012 !ruby/object:Gem::Requirement
|
182
184
|
none: false
|
183
185
|
requirements:
|
@@ -187,10 +189,8 @@ dependencies:
|
|
187
189
|
segments:
|
188
190
|
- 0
|
189
191
|
version: "0"
|
190
|
-
version_requirements: *id012
|
191
|
-
name: rcov
|
192
|
-
prerelease: false
|
193
192
|
type: :development
|
193
|
+
version_requirements: *id012
|
194
194
|
description: An unrestictive way to deploy using gitflow and capistrano
|
195
195
|
email: spencer@theablefew.com
|
196
196
|
executables: []
|
@@ -213,6 +213,7 @@ files:
|
|
213
213
|
- features/support/env.rb
|
214
214
|
- lib/capflow.rb
|
215
215
|
- lib/capistrano/capflow.rb
|
216
|
+
- lib/capistrano/helpers/capflow_helper.rb
|
216
217
|
- lib/railtie.rb
|
217
218
|
- lib/tasks/capflow.rake
|
218
219
|
- recipes/capflow_recipes.rb
|