vendorificator 0.5.git.v0.4.0.63.g8e9d54d → 0.5.0
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.
- checksums.yaml +9 -9
- data/.travis.yml +2 -2
- data/CHANGELOG.md +10 -0
- data/Gemfile +5 -12
- data/README.md +27 -1
- data/Rakefile +2 -8
- data/features/chef_cookbook.feature +4 -4
- data/features/download.feature +1 -1
- data/features/edgecases.feature +15 -0
- data/features/environment.feature +3 -2
- data/features/fake_mode.feature +15 -0
- data/features/git.feature +4 -4
- data/features/overlay.feature +99 -0
- data/features/step_definitions/basic.rb +22 -0
- data/features/step_definitions/git.rb +16 -0
- data/features/step_definitions/vendorificator.rb +9 -4
- data/features/support/aruba_ext.rb +4 -0
- data/features/support/env.rb +3 -0
- data/features/tarball.feature +2 -2
- data/features/tarball_edit.feature +3 -3
- data/features/tool.feature +6 -4
- data/features/tool_shortcuts.feature +3 -3
- data/features/tool_specs.feature +62 -0
- data/features/vendor.feature +4 -3
- data/lib/vendorificator.rb +7 -1
- data/lib/vendorificator/cli.rb +12 -11
- data/lib/vendorificator/config.rb +32 -1
- data/lib/vendorificator/environment.rb +23 -27
- data/lib/vendorificator/hooks/chef_cookbook.rb +2 -2
- data/lib/vendorificator/overlay.rb +17 -0
- data/lib/vendorificator/segment.rb +376 -0
- data/lib/vendorificator/segment/overlay.rb +114 -0
- data/lib/vendorificator/segment/vendor.rb +115 -0
- data/lib/vendorificator/vendor.rb +25 -279
- data/lib/vendorificator/vendor/tool.rb +40 -23
- data/lib/vendorificator/version.rb +1 -1
- data/spec/vendorificator/config_spec.rb +66 -0
- data/spec/vendorificator/environment_spec.rb +7 -7
- data/spec/vendorificator/fixtures/vendorfiles/overlay.rb +4 -0
- data/spec/vendorificator/segment/vendor_spec.rb +19 -0
- data/spec/vendorificator/segment_spec.rb +106 -0
- data/spec/vendorificator/vendor_spec.rb +0 -89
- data/vendorificator.gemspec +5 -5
- metadata +45 -29
@@ -5,7 +5,7 @@ require 'vendorificator/vendor'
|
|
5
5
|
|
6
6
|
module Vendorificator
|
7
7
|
class Vendor::Tool < Vendor
|
8
|
-
arg_reader :specs, :command
|
8
|
+
arg_reader :specs, :extras, :command
|
9
9
|
|
10
10
|
def before_conjure!
|
11
11
|
upstream_version # to cache the version in instance attribute,
|
@@ -14,31 +14,48 @@ module Vendorificator
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def conjure!
|
17
|
-
specs.each do |spec|
|
18
|
-
src = File.join(environment.git.git_work_tree, spec)
|
19
|
-
if File.exist?(src)
|
20
|
-
FileUtils.install File.join(environment.git.git_work_tree, spec),
|
21
|
-
File.join(git.git_work_tree, spec),
|
22
|
-
verbose: true
|
23
|
-
end
|
24
|
-
end
|
25
17
|
Dir.chdir(git.git_work_tree) do
|
18
|
+
git.checkout(
|
19
|
+
environment.current_branch, '--', specs_in_repo, extras_in_repo
|
20
|
+
) unless specs_in_repo.empty? && extras_in_repo.empty?
|
21
|
+
git.rm({:cached => true}, extras_in_repo) unless extras_in_repo.empty?
|
26
22
|
system self.command or raise RuntimeError, "Command failed"
|
27
|
-
|
28
|
-
super
|
29
|
-
end
|
30
|
-
|
31
|
-
def git_add_extra_paths
|
32
|
-
specs.inject(super) do |rv, path|
|
33
|
-
rv << path
|
23
|
+
super
|
34
24
|
end
|
35
25
|
end
|
36
26
|
|
37
27
|
def upstream_version
|
38
28
|
@upstream_version ||= git.capturing.
|
39
|
-
log({:n => 1, :pretty => 'format:%ad-%h', :date => 'short'},
|
29
|
+
log({:n => 1, :pretty => 'format:%ad-%h', :date => 'short'}, specs_in_repo).
|
40
30
|
strip
|
41
31
|
end
|
32
|
+
|
33
|
+
private
|
34
|
+
|
35
|
+
def specs_in_repo
|
36
|
+
@spec_in_repo ||= select_by_glob_list(origin_files, specs)
|
37
|
+
end
|
38
|
+
|
39
|
+
def extras_in_repo
|
40
|
+
@extras_in_repo ||= select_by_glob_list(origin_files, extras)
|
41
|
+
end
|
42
|
+
|
43
|
+
def select_by_glob_list(haystack, needles)
|
44
|
+
return [] if !needles || needles.empty?
|
45
|
+
needles = Array(needles)
|
46
|
+
haystack.select do |straw|
|
47
|
+
needles.any? do |needle|
|
48
|
+
File.fnmatch(needle, straw, File::FNM_PATHNAME)
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
def origin_files
|
54
|
+
@origin_files ||= git.capturing.
|
55
|
+
ls_tree( {:r => true, :z => true, :name_only => true},
|
56
|
+
environment.current_branch).
|
57
|
+
split("\0")
|
58
|
+
end
|
42
59
|
end
|
43
60
|
|
44
61
|
class Config
|
@@ -52,12 +69,12 @@ module Vendorificator
|
|
52
69
|
&block
|
53
70
|
end
|
54
71
|
|
55
|
-
def chef_berkshelf(&block)
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
72
|
+
def chef_berkshelf(args={}, &block)
|
73
|
+
args[:path] ||= 'cookbooks'
|
74
|
+
args[:specs] ||= []
|
75
|
+
args[:specs] |= [ 'Berksfile', 'Berksfile.lock' ]
|
76
|
+
args[:command] = "berks install --path vendor/#{args[:path]}"
|
77
|
+
tool 'cookbooks', args, &block
|
61
78
|
end
|
62
79
|
end
|
63
80
|
end
|
@@ -67,5 +67,71 @@ module Vendorificator
|
|
67
67
|
assert { config.metadata[:foo] == :bar }
|
68
68
|
end
|
69
69
|
end
|
70
|
+
|
71
|
+
describe '#overlay' do
|
72
|
+
let(:environment) do
|
73
|
+
env = Environment.new(Thor::Shell::Basic.new, :quiet,
|
74
|
+
'spec/vendorificator/fixtures/vendorfiles/overlay.rb'
|
75
|
+
)
|
76
|
+
env.load_vendorfile
|
77
|
+
|
78
|
+
env
|
79
|
+
end
|
80
|
+
|
81
|
+
it 'assigns an overlay instance to all segments in the block' do
|
82
|
+
overlay = environment.segments.first
|
83
|
+
assert { overlay.segments.size > 1 }
|
84
|
+
overlay.each_segment do |seg|
|
85
|
+
assert { seg.overlay != nil }
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
it 'assigns the same overlay instance to all segments in the block' do
|
90
|
+
overlay = environment.segments.first
|
91
|
+
assert { overlay.segments.size > 1 }
|
92
|
+
overlay.each_segment do |vendor|
|
93
|
+
assert { vendor.overlay == overlay }
|
94
|
+
end
|
95
|
+
end
|
96
|
+
end
|
97
|
+
|
98
|
+
describe 'fake_mode?' do
|
99
|
+
it 'returns false when config not set' do
|
100
|
+
MiniGit::Capturing.stubs(:git).with(:config, 'vendorificator.stub').raises(MiniGit::GitError)
|
101
|
+
assert { config.fake_mode? == false }
|
102
|
+
end
|
103
|
+
|
104
|
+
it 'returns true when set to any truish value' do
|
105
|
+
stub_fake_mode 'any_truish_value'
|
106
|
+
assert { config.fake_mode? == true }
|
107
|
+
end
|
108
|
+
|
109
|
+
it 'returns false when set to empty string' do
|
110
|
+
stub_fake_mode ''
|
111
|
+
assert { config.fake_mode? == false }
|
112
|
+
end
|
113
|
+
|
114
|
+
it 'returns false when set to false' do
|
115
|
+
stub_fake_mode 'false'
|
116
|
+
assert { config.fake_mode? == false }
|
117
|
+
end
|
118
|
+
|
119
|
+
it 'returns false when set to no' do
|
120
|
+
stub_fake_mode 'no'
|
121
|
+
assert { config.fake_mode? == false }
|
122
|
+
end
|
123
|
+
|
124
|
+
it 'returns false when set to 0' do
|
125
|
+
stub_fake_mode '0'
|
126
|
+
assert { config.fake_mode? == false }
|
127
|
+
end
|
128
|
+
end
|
129
|
+
|
130
|
+
private
|
131
|
+
|
132
|
+
def stub_fake_mode(value)
|
133
|
+
MiniGit::Capturing.stubs(:git).with(:config, 'vendorificator.stub').
|
134
|
+
returns(value)
|
135
|
+
end
|
70
136
|
end
|
71
137
|
end
|
@@ -57,7 +57,7 @@ module Vendorificator
|
|
57
57
|
end
|
58
58
|
|
59
59
|
it "creates a branch if it doesn't exist" do
|
60
|
-
environment.
|
60
|
+
environment.segments << stub(
|
61
61
|
:branch_name => 'vendor/test', :head => nil,
|
62
62
|
:compute_dependencies! => nil
|
63
63
|
)
|
@@ -68,8 +68,8 @@ module Vendorificator
|
|
68
68
|
end
|
69
69
|
|
70
70
|
it "handles fast forwardable branches" do
|
71
|
-
environment.
|
72
|
-
:branch_name => 'vendor/test', :head => '123456', :
|
71
|
+
environment.segments << stub(
|
72
|
+
:branch_name => 'vendor/test', :head => '123456', :fast_forward => true,
|
73
73
|
:name => 'test', :compute_dependencies! => nil
|
74
74
|
)
|
75
75
|
environment.expects(:fast_forwardable?).returns(true)
|
@@ -108,16 +108,16 @@ module Vendorificator
|
|
108
108
|
end
|
109
109
|
end
|
110
110
|
|
111
|
-
describe '#
|
111
|
+
describe '#segments' do
|
112
112
|
let(:environment){ Environment.new Thor::Shell::Basic.new, :default, nil }
|
113
113
|
|
114
114
|
it 'is initialized on a new environment' do
|
115
|
-
assert { environment.
|
115
|
+
assert { environment.segments == [] }
|
116
116
|
end
|
117
117
|
|
118
118
|
it 'allows to add/read instances' do
|
119
|
-
environment.
|
120
|
-
assert { environment.
|
119
|
+
environment.segments << :foo
|
120
|
+
assert { environment.segments == [:foo] }
|
121
121
|
end
|
122
122
|
end
|
123
123
|
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require_relative '../../spec_helper'
|
2
|
+
|
3
|
+
module Vendorificator
|
4
|
+
describe Segment::Vendor do
|
5
|
+
describe '#initialize' do
|
6
|
+
let(:segment){ Segment::Vendor.new(overlay: 'test', vendor: 'vendor') }
|
7
|
+
|
8
|
+
it 'assigns overlay' do
|
9
|
+
assert { segment.overlay == 'test' }
|
10
|
+
end
|
11
|
+
|
12
|
+
it 'assigns vendor' do
|
13
|
+
assert { segment.vendor == 'vendor' }
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
|
@@ -0,0 +1,106 @@
|
|
1
|
+
require_relative '../spec_helper'
|
2
|
+
|
3
|
+
module Vendorificator
|
4
|
+
describe Segment do
|
5
|
+
describe '#work_dir' do
|
6
|
+
it 'includes vendor group' do
|
7
|
+
env = basic_environment
|
8
|
+
env.stubs(:relative_root_dir)
|
9
|
+
env.git.stubs(:git_work_tree)
|
10
|
+
categorized = Vendor.new(env, 'test', group: 'group').segment
|
11
|
+
uncategorized = Vendor.new(env, 'test').segment
|
12
|
+
|
13
|
+
assert { categorized.work_dir.include? 'group' }
|
14
|
+
deny { uncategorized.work_dir.include? 'group' }
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
describe '#branch_name' do
|
19
|
+
it 'includes vendor group' do
|
20
|
+
uncategorized = Vendor.new(basic_environment, 'test').segment
|
21
|
+
categorized = Vendor.new(basic_environment, 'test', group: 'group').segment
|
22
|
+
|
23
|
+
deny { uncategorized.branch_name.include? 'group' }
|
24
|
+
assert { categorized.branch_name.include? 'group' }
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
describe '#pushable_refs' do
|
29
|
+
let(:environment) do
|
30
|
+
Environment.new(Thor::Shell::Basic.new) do
|
31
|
+
vendor :nginx, :group => :cookbooks
|
32
|
+
vendor :nginx_simplecgi, :group => :cookbooks
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
before do
|
37
|
+
environment.git.capturing.stubs(:show_ref).returns <<EOF
|
38
|
+
a2745fdf2d7e51f139f9417c5ca045b389fa939f refs/heads/master
|
39
|
+
127eb134185e2bf34c79321819b81f8464392d45 refs/heads/vendor/cookbooks/nginx
|
40
|
+
0448bfa569d3d94dcb3e485c8da60fdb33d365f6 refs/heads/vendor/cookbooks/nginx_simplecgi
|
41
|
+
a2745fdf2d7e51f139f9417c5ca045b389fa939f refs/remotes/origin/master
|
42
|
+
127eb134185e2bf34c79321819b81f8464392d45 refs/remotes/origin/vendor/cookbooks/nginx
|
43
|
+
0448bfa569d3d94dcb3e485c8da60fdb33d365f6 refs/remotes/origin/vendor/cookbooks/nginx_simplecgi
|
44
|
+
e4646a83e6d24322958e1d7a2ed922dae034accd refs/tags/vendor/cookbooks/nginx/1.2.0
|
45
|
+
fa0293b914420f59f8eb4c347fb628dcb953aad3 refs/tags/vendor/cookbooks/nginx/1.3.0
|
46
|
+
680dee5e56a0d49ba2ae299bb82189b6f2660c9b refs/tags/vendor/cookbooks/nginx_simplecgi/0.1.0
|
47
|
+
EOF
|
48
|
+
environment.load_vendorfile
|
49
|
+
end
|
50
|
+
|
51
|
+
it 'includes all own refs' do
|
52
|
+
refs = environment['nginx'].pushable_refs
|
53
|
+
assert { refs.include? 'refs/heads/vendor/cookbooks/nginx' }
|
54
|
+
assert { refs.include? 'refs/tags/vendor/cookbooks/nginx/1.2.0' }
|
55
|
+
assert { refs.include? 'refs/tags/vendor/cookbooks/nginx/1.3.0' }
|
56
|
+
|
57
|
+
refs = environment['nginx_simplecgi'].pushable_refs
|
58
|
+
assert { refs.include? 'refs/heads/vendor/cookbooks/nginx_simplecgi' }
|
59
|
+
assert { refs.include? 'refs/tags/vendor/cookbooks/nginx_simplecgi/0.1.0' }
|
60
|
+
end
|
61
|
+
|
62
|
+
it "doesn't include other modules' refs" do
|
63
|
+
refs = environment['nginx'].pushable_refs
|
64
|
+
deny { refs.include? 'refs/tags/vendor/cookbooks/nginx_simplecgi/0.1.0' }
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
describe '#included_in_list?' do
|
69
|
+
let(:segment) do
|
70
|
+
Vendor.new(basic_environment, 'test_name', :group => 'test_group').segment
|
71
|
+
end
|
72
|
+
|
73
|
+
it 'finds a module by name' do
|
74
|
+
assert { segment.included_in_list?(['test_name']) }
|
75
|
+
end
|
76
|
+
|
77
|
+
it 'finds a module by qualified name' do
|
78
|
+
assert { segment.included_in_list?(['test_group/test_name']) }
|
79
|
+
end
|
80
|
+
|
81
|
+
it 'finds a module by path' do
|
82
|
+
segment.stubs(:work_dir).returns('./vendor/test_group/test_name')
|
83
|
+
|
84
|
+
assert { segment.included_in_list?(['./vendor/test_group/test_name']) }
|
85
|
+
end
|
86
|
+
|
87
|
+
it 'finds a module by merge commit' do
|
88
|
+
segment.stubs(:merged_base).returns('foobar')
|
89
|
+
segment.stubs(:work_dir).returns('abc/def')
|
90
|
+
|
91
|
+
assert { segment.included_in_list?(['foobar']) }
|
92
|
+
end
|
93
|
+
|
94
|
+
it 'finds a module by branch name' do
|
95
|
+
segment.stubs(:merged_base).returns('abcdef')
|
96
|
+
segment.stubs(:work_dir).returns('abc/def')
|
97
|
+
segment.stubs(:branch_name).returns('foo/bar')
|
98
|
+
|
99
|
+
assert { segment.included_in_list?(['foo/bar']) }
|
100
|
+
end
|
101
|
+
|
102
|
+
end
|
103
|
+
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
@@ -37,22 +37,6 @@ module Vendorificator
|
|
37
37
|
assert { Vendor::Categorized.new(basic_environment, 'test', :group => nil).group == nil }
|
38
38
|
end
|
39
39
|
|
40
|
-
it 'is inserted into paths and other names' do
|
41
|
-
uncategorized = Vendor.new(basic_environment, 'test')
|
42
|
-
categorized = Vendor.new(basic_environment, 'test', :group => :cat)
|
43
|
-
|
44
|
-
deny { uncategorized.branch_name.include? 'cat' }
|
45
|
-
assert { categorized.branch_name.include? 'cat' }
|
46
|
-
|
47
|
-
deny { uncategorized.path.include? 'cat' }
|
48
|
-
assert { categorized.path.include? 'cat' }
|
49
|
-
|
50
|
-
uncategorized.stubs(:version).returns(:foo)
|
51
|
-
categorized.stubs(:version).returns(:foo)
|
52
|
-
deny { uncategorized.tag_name.include? 'cat' }
|
53
|
-
assert { categorized.tag_name.include? 'cat' }
|
54
|
-
end
|
55
|
-
|
56
40
|
it 'accepts a deprecated :category option' do
|
57
41
|
vendor = Vendor.new(basic_environment, 'test', :category => 'foo')
|
58
42
|
|
@@ -101,79 +85,6 @@ module Vendorificator
|
|
101
85
|
end
|
102
86
|
end
|
103
87
|
|
104
|
-
describe '#pushable_refs' do
|
105
|
-
before do
|
106
|
-
environment.git.capturing.stubs(:show_ref).returns <<EOF
|
107
|
-
a2745fdf2d7e51f139f9417c5ca045b389fa939f refs/heads/master
|
108
|
-
127eb134185e2bf34c79321819b81f8464392d45 refs/heads/vendor/cookbooks/nginx
|
109
|
-
0448bfa569d3d94dcb3e485c8da60fdb33d365f6 refs/heads/vendor/cookbooks/nginx_simplecgi
|
110
|
-
a2745fdf2d7e51f139f9417c5ca045b389fa939f refs/remotes/origin/master
|
111
|
-
127eb134185e2bf34c79321819b81f8464392d45 refs/remotes/origin/vendor/cookbooks/nginx
|
112
|
-
0448bfa569d3d94dcb3e485c8da60fdb33d365f6 refs/remotes/origin/vendor/cookbooks/nginx_simplecgi
|
113
|
-
e4646a83e6d24322958e1d7a2ed922dae034accd refs/tags/vendor/cookbooks/nginx/1.2.0
|
114
|
-
fa0293b914420f59f8eb4c347fb628dcb953aad3 refs/tags/vendor/cookbooks/nginx/1.3.0
|
115
|
-
680dee5e56a0d49ba2ae299bb82189b6f2660c9b refs/tags/vendor/cookbooks/nginx_simplecgi/0.1.0
|
116
|
-
EOF
|
117
|
-
environment.load_vendorfile
|
118
|
-
end
|
119
|
-
|
120
|
-
let(:environment) do
|
121
|
-
Environment.new(Thor::Shell::Basic.new) do
|
122
|
-
vendor :nginx, :group => :cookbooks
|
123
|
-
vendor :nginx_simplecgi, :group => :cookbooks
|
124
|
-
end
|
125
|
-
end
|
126
|
-
|
127
|
-
it 'includes all own refs' do
|
128
|
-
refs = environment['nginx'].pushable_refs
|
129
|
-
assert { refs.include? 'refs/heads/vendor/cookbooks/nginx' }
|
130
|
-
assert { refs.include? 'refs/tags/vendor/cookbooks/nginx/1.2.0' }
|
131
|
-
assert { refs.include? 'refs/tags/vendor/cookbooks/nginx/1.3.0' }
|
132
|
-
|
133
|
-
refs = environment['nginx_simplecgi'].pushable_refs
|
134
|
-
assert { refs.include? 'refs/heads/vendor/cookbooks/nginx_simplecgi' }
|
135
|
-
assert { refs.include? 'refs/tags/vendor/cookbooks/nginx_simplecgi/0.1.0' }
|
136
|
-
end
|
137
|
-
|
138
|
-
it "doesn't include other modules' refs" do
|
139
|
-
refs = environment['nginx'].pushable_refs
|
140
|
-
deny { refs.include? 'refs/tags/vendor/cookbooks/nginx_simplecgi/0.1.0' }
|
141
|
-
end
|
142
|
-
end
|
143
|
-
|
144
|
-
describe '#included_in_list?' do
|
145
|
-
let(:vendor) { Vendor.new(basic_environment, 'test_name', :group => 'test_group') }
|
146
|
-
|
147
|
-
it 'finds a module by name' do
|
148
|
-
assert { vendor.included_in_list?(['test_name']) }
|
149
|
-
end
|
150
|
-
|
151
|
-
it 'finds a module by qualified name' do
|
152
|
-
assert { vendor.included_in_list?(['test_group/test_name']) }
|
153
|
-
end
|
154
|
-
|
155
|
-
it 'finds a module by path' do
|
156
|
-
vendor.stubs(:work_dir).returns('./vendor/test_group/test_name')
|
157
|
-
|
158
|
-
assert { vendor.included_in_list?(['./vendor/test_group/test_name']) }
|
159
|
-
end
|
160
|
-
|
161
|
-
it 'finds a module by merge commit' do
|
162
|
-
vendor.stubs(:merged).returns('foobar')
|
163
|
-
vendor.stubs(:work_dir).returns('abc/def')
|
164
|
-
|
165
|
-
assert { vendor.included_in_list?(['foobar']) }
|
166
|
-
end
|
167
|
-
|
168
|
-
it 'finds a module by branch name' do
|
169
|
-
vendor.stubs(:merged).returns('abcdef')
|
170
|
-
vendor.stubs(:work_dir).returns('abc/def')
|
171
|
-
|
172
|
-
vendor.stubs(:branch_name).returns('foo/bar')
|
173
|
-
assert { vendor.included_in_list?(['foo/bar']) }
|
174
|
-
end
|
175
|
-
|
176
|
-
end
|
177
88
|
end
|
178
89
|
|
179
90
|
module Hooks
|
data/vendorificator.gemspec
CHANGED
@@ -29,15 +29,15 @@ Gem::Specification.new do |gem|
|
|
29
29
|
gem.add_dependency 'minigit', '>= 0.0.3'
|
30
30
|
gem.add_dependency 'awesome_print'
|
31
31
|
|
32
|
-
gem.add_development_dependency 'aruba', '0.5.3'
|
33
|
-
gem.add_development_dependency 'cucumber', '~>
|
32
|
+
gem.add_development_dependency 'aruba', '~> 0.5.3'
|
33
|
+
gem.add_development_dependency 'cucumber', '~> 1.3.10'
|
34
34
|
gem.add_development_dependency 'mocha', '>= 0.14.0'
|
35
|
-
gem.add_development_dependency 'chef', '>= 10.16.0' unless is_jruby
|
36
35
|
gem.add_development_dependency 'berkshelf' unless is_jruby || !is_1_9_plus
|
37
36
|
gem.add_development_dependency 'vcr'
|
38
37
|
gem.add_development_dependency 'webmock'
|
39
|
-
gem.add_development_dependency 'wrong', '
|
38
|
+
gem.add_development_dependency 'wrong', '~> 0.7'
|
40
39
|
gem.add_development_dependency 'rake'
|
41
40
|
gem.add_development_dependency 'simplecov'
|
42
|
-
gem.add_development_dependency '
|
41
|
+
gem.add_development_dependency 'tee', '~> 1.0'
|
42
|
+
gem.add_development_dependency 'minitest', '~> 5.2'
|
43
43
|
end
|