berkshelf 3.1.5 → 3.2.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 +4 -4
- data/CHANGELOG.md +21 -0
- data/berkshelf.gemspec +6 -5
- data/features/commands/search.feature +2 -2
- data/features/commands/vendor.feature +6 -2
- data/features/commands/verify.feature +29 -0
- data/features/config.feature +13 -48
- data/features/step_definitions/filesystem_steps.rb +2 -2
- data/features/step_definitions/gem_steps.rb +3 -1
- data/features/step_definitions/utility_steps.rb +2 -2
- data/generator_files/Vagrantfile.erb +30 -30
- data/generator_files/metadata.rb.erb +0 -1
- data/lib/berkshelf.rb +5 -2
- data/lib/berkshelf/berksfile.rb +41 -41
- data/lib/berkshelf/cli.rb +11 -1
- data/lib/berkshelf/community_rest.rb +1 -0
- data/lib/berkshelf/config.rb +18 -4
- data/lib/berkshelf/cookbook_store.rb +1 -1
- data/lib/berkshelf/downloader.rb +4 -0
- data/lib/berkshelf/errors.rb +0 -1
- data/lib/berkshelf/file_syncer.rb +134 -0
- data/lib/berkshelf/locations/base.rb +6 -1
- data/lib/berkshelf/locations/git.rb +2 -2
- data/lib/berkshelf/lockfile.rb +14 -2
- data/lib/berkshelf/uploader.rb +10 -17
- data/lib/berkshelf/validator.rb +37 -0
- data/lib/berkshelf/version.rb +1 -1
- data/lib/berkshelf/visualizer.rb +13 -6
- data/spec/spec_helper.rb +1 -1
- data/spec/support/kitchen.rb +3 -1
- data/spec/support/matchers/file_system_matchers.rb +1 -1
- data/spec/support/matchers/filepath_matchers.rb +38 -2
- data/spec/support/shared_examples/formatter.rb +7 -7
- data/spec/unit/berkshelf/berksfile_spec.rb +51 -21
- data/spec/unit/berkshelf/cached_cookbook_spec.rb +5 -5
- data/spec/unit/berkshelf/cli_spec.rb +1 -1
- data/spec/unit/berkshelf/community_rest_spec.rb +12 -12
- data/spec/unit/berkshelf/config_spec.rb +4 -4
- data/spec/unit/berkshelf/cookbook_generator_spec.rb +2 -2
- data/spec/unit/berkshelf/cookbook_store_spec.rb +6 -6
- data/spec/unit/berkshelf/core_ext/file_utils_spec.rb +3 -3
- data/spec/unit/berkshelf/core_ext/pathname_spec.rb +23 -6
- data/spec/unit/berkshelf/dependency_spec.rb +4 -4
- data/spec/unit/berkshelf/downloader_spec.rb +5 -1
- data/spec/unit/berkshelf/errors_spec.rb +1 -1
- data/spec/unit/berkshelf/file_syncer_spec.rb +206 -0
- data/spec/unit/berkshelf/init_generator_spec.rb +19 -22
- data/spec/unit/berkshelf/installer_spec.rb +6 -6
- data/spec/unit/berkshelf/locations/base_spec.rb +17 -8
- data/spec/unit/berkshelf/locations/git_spec.rb +34 -34
- data/spec/unit/berkshelf/locations/path_spec.rb +3 -3
- data/spec/unit/berkshelf/lockfile_parser_spec.rb +1 -1
- data/spec/unit/berkshelf/lockfile_spec.rb +50 -36
- data/spec/unit/berkshelf/packager_spec.rb +6 -4
- data/spec/unit/berkshelf/resolver/graph_spec.rb +3 -3
- data/spec/unit/berkshelf/resolver_spec.rb +3 -3
- data/spec/unit/berkshelf/shell_spec.rb +30 -24
- data/spec/unit/berkshelf/uploader_spec.rb +10 -36
- data/spec/unit/berkshelf/validator_spec.rb +30 -0
- data/spec/unit/berkshelf/visualizer_spec.rb +17 -2
- metadata +34 -15
- data/lib/berkshelf/mixin/dsl_eval.rb +0 -58
- data/spec/unit/berkshelf/mixin/dsl_eval_spec.rb +0 -55
@@ -4,14 +4,16 @@ describe Berkshelf::Packager do
|
|
4
4
|
let(:target) { tmp_path.join("cookbooks.tar.gz").to_s }
|
5
5
|
subject { described_class.new(target) }
|
6
6
|
|
7
|
-
|
7
|
+
it 'has the correct out_file' do
|
8
|
+
expect(subject.out_file).to eq(target)
|
9
|
+
end
|
8
10
|
|
9
11
|
describe "#run" do
|
10
12
|
let(:cookbooks) { fixtures_path.join("cookbooks") }
|
11
13
|
|
12
14
|
it "writes a tar to the #out_file" do
|
13
15
|
subject.run(cookbooks)
|
14
|
-
expect(File.exist?(subject.out_file)).to
|
16
|
+
expect(File.exist?(subject.out_file)).to be(true)
|
15
17
|
end
|
16
18
|
end
|
17
19
|
|
@@ -19,7 +21,7 @@ describe Berkshelf::Packager do
|
|
19
21
|
let(:out_dir) { File.dirname(target) }
|
20
22
|
|
21
23
|
context "when the out_file's directory is not writable" do
|
22
|
-
before { File.
|
24
|
+
before { allow(File).to receive(:directory?).with(out_dir).and_return(false) }
|
23
25
|
|
24
26
|
it "raises an error" do
|
25
27
|
expect { subject.validate! }.to raise_error(Berkshelf::PackageError,
|
@@ -28,7 +30,7 @@ describe Berkshelf::Packager do
|
|
28
30
|
end
|
29
31
|
|
30
32
|
context "when the out_file's directory is not a directory" do
|
31
|
-
before { File.
|
33
|
+
before { allow(File).to receive(:writable?).with(out_dir).and_return(false) }
|
32
34
|
|
33
35
|
it "raises an error" do
|
34
36
|
expect { subject.validate! }.to raise_error(Berkshelf::PackageError,
|
@@ -14,12 +14,12 @@ describe Berkshelf::Resolver::Graph, :not_supported_on_windows do
|
|
14
14
|
|
15
15
|
it "adds each dependency to the graph" do
|
16
16
|
subject.populate(sources)
|
17
|
-
expect(subject.artifacts).to
|
17
|
+
expect(subject.artifacts.size).to eq(3)
|
18
18
|
end
|
19
19
|
|
20
20
|
it "adds the dependencies of each dependency to the graph" do
|
21
21
|
subject.populate(sources)
|
22
|
-
expect(subject.artifact("ruby", "1.0.0").dependencies).to
|
22
|
+
expect(subject.artifact("ruby", "1.0.0").dependencies.size).to eq(1)
|
23
23
|
end
|
24
24
|
end
|
25
25
|
|
@@ -38,7 +38,7 @@ describe Berkshelf::Resolver::Graph, :not_supported_on_windows do
|
|
38
38
|
end
|
39
39
|
|
40
40
|
it "contains the entire universe of dependencies" do
|
41
|
-
expect(subject.universe(sources)).to
|
41
|
+
expect(subject.universe(sources).size).to eq(2)
|
42
42
|
end
|
43
43
|
end
|
44
44
|
end
|
@@ -22,7 +22,7 @@ describe Berkshelf::Resolver do
|
|
22
22
|
end
|
23
23
|
|
24
24
|
it 'raises a DuplicateDemand exception if a demand of the same name is added' do
|
25
|
-
subject.
|
25
|
+
expect(subject).to receive(:has_demand?).with(demand).and_return(true)
|
26
26
|
|
27
27
|
expect {
|
28
28
|
subject.add_demand(demand)
|
@@ -50,11 +50,11 @@ describe Berkshelf::Resolver do
|
|
50
50
|
before { subject.add_demand(demand) }
|
51
51
|
|
52
52
|
it 'returns true if the demand exists' do
|
53
|
-
expect(subject.has_demand?(demand.name)).to
|
53
|
+
expect(subject.has_demand?(demand.name)).to be(true)
|
54
54
|
end
|
55
55
|
|
56
56
|
it 'returns false if the demand does not exist' do
|
57
|
-
expect(subject.has_demand?('non-existent')).to
|
57
|
+
expect(subject.has_demand?('non-existent')).to be(false)
|
58
58
|
end
|
59
59
|
end
|
60
60
|
|
@@ -6,44 +6,48 @@ module Berkshelf
|
|
6
6
|
let(:stderr) { double('stderr') }
|
7
7
|
|
8
8
|
before do
|
9
|
-
described_class.
|
10
|
-
|
9
|
+
allow_any_instance_of(described_class).to receive(:stdout)
|
10
|
+
.and_return(stdout)
|
11
|
+
|
12
|
+
allow_any_instance_of(described_class).to receive(:stderr)
|
13
|
+
.and_return(stderr)
|
11
14
|
end
|
12
15
|
|
13
16
|
describe '#mute!' do
|
14
17
|
it 'sets @mute to true' do
|
15
18
|
subject.mute!
|
16
|
-
expect(subject.instance_variable_get(:@mute)).to
|
19
|
+
expect(subject.instance_variable_get(:@mute)).to be(true)
|
17
20
|
end
|
18
21
|
end
|
19
22
|
|
20
23
|
describe '#unmute!' do
|
21
24
|
it 'sets @mute to false' do
|
22
25
|
subject.unmute!
|
23
|
-
expect(subject.instance_variable_get(:@mute)).to
|
26
|
+
expect(subject.instance_variable_get(:@mute)).to be(false)
|
24
27
|
end
|
25
28
|
end
|
26
29
|
|
27
30
|
describe '#say' do
|
28
31
|
context 'when quiet?' do
|
29
32
|
before do
|
30
|
-
subject.
|
33
|
+
allow(subject).to receive(:quiet?).and_return(true)
|
31
34
|
end
|
32
35
|
|
33
36
|
it 'does not output anything', :not_supported_on_windows do
|
34
|
-
stdout.
|
37
|
+
expect(stdout).to_not receive(:print)
|
38
|
+
expect(stdout).to_not receive(:puts)
|
35
39
|
subject.say 'message'
|
36
40
|
end
|
37
41
|
end
|
38
42
|
|
39
43
|
context 'with not quiet?' do
|
40
44
|
before do
|
41
|
-
subject.
|
45
|
+
allow(subject).to receive(:quiet?).and_return(false)
|
42
46
|
end
|
43
47
|
|
44
48
|
it 'prints to stdout' do
|
45
|
-
stdout.
|
46
|
-
stdout.
|
49
|
+
expect(stdout).to receive(:print).once
|
50
|
+
expect(stdout).to receive(:flush).once
|
47
51
|
subject.say 'message'
|
48
52
|
end
|
49
53
|
end
|
@@ -52,23 +56,24 @@ module Berkshelf
|
|
52
56
|
describe '#say_status' do
|
53
57
|
context 'when quiet?' do
|
54
58
|
before do
|
55
|
-
subject.
|
59
|
+
allow(subject).to receive(:quiet?).and_return(true)
|
56
60
|
end
|
57
61
|
|
58
62
|
it 'does not output anything' do
|
59
|
-
stdout.
|
63
|
+
expect(stdout).to_not receive(:print)
|
64
|
+
expect(stdout).to_not receive(:puts)
|
60
65
|
subject.say_status 5, 'message'
|
61
66
|
end
|
62
67
|
end
|
63
68
|
|
64
69
|
context 'with not quiet?' do
|
65
70
|
before do
|
66
|
-
subject.
|
71
|
+
allow(subject).to receive(:quiet?).and_return(false)
|
67
72
|
end
|
68
73
|
|
69
74
|
it 'prints to stdout' do
|
70
|
-
stdout.
|
71
|
-
stdout.
|
75
|
+
expect(stdout).to receive(:print).once
|
76
|
+
expect(stdout).to receive(:flush).once
|
72
77
|
subject.say_status 5, 'message'
|
73
78
|
end
|
74
79
|
end
|
@@ -77,23 +82,24 @@ module Berkshelf
|
|
77
82
|
describe '#warn' do
|
78
83
|
context 'when quiet?' do
|
79
84
|
before do
|
80
|
-
subject.
|
85
|
+
allow(subject).to receive(:quiet?).and_return(true)
|
81
86
|
end
|
82
87
|
|
83
88
|
it 'does not output anything' do
|
84
|
-
stdout.
|
89
|
+
expect(stdout).to_not receive(:print)
|
90
|
+
expect(stdout).to_not receive(:puts)
|
85
91
|
subject.warn 'warning'
|
86
92
|
end
|
87
93
|
end
|
88
94
|
|
89
95
|
context 'with not quiet?' do
|
90
96
|
before do
|
91
|
-
subject.
|
97
|
+
allow(subject).to receive(:quiet?).and_return(false)
|
92
98
|
end
|
93
99
|
|
94
100
|
it 'calls #say with yellow coloring' do
|
95
|
-
stdout.
|
96
|
-
stdout.
|
101
|
+
expect(stdout).to receive(:print).once
|
102
|
+
expect(stdout).to receive(:flush).once
|
97
103
|
subject.warn 'warning'
|
98
104
|
end
|
99
105
|
end
|
@@ -102,26 +108,26 @@ module Berkshelf
|
|
102
108
|
context '#error' do
|
103
109
|
context 'when quiet?' do
|
104
110
|
before do
|
105
|
-
subject.
|
111
|
+
allow(subject).to receive(:quiet?).and_return(true)
|
106
112
|
end
|
107
113
|
|
108
114
|
it "outputs an error message", :not_supported_on_windows do
|
109
|
-
stderr.
|
115
|
+
expect(stderr).to receive(:puts)
|
110
116
|
subject.error 'error!'
|
111
117
|
end
|
112
118
|
end
|
113
119
|
|
114
120
|
context 'with not quiet?' do
|
115
121
|
before do
|
116
|
-
subject.
|
122
|
+
allow(subject).to receive(:quiet?).and_return(false)
|
117
123
|
end
|
118
124
|
|
119
125
|
it 'prints to stderr' do
|
120
|
-
stderr.
|
126
|
+
expect(stderr).to receive(:puts)
|
127
|
+
.with(windows? ? "error!" : "\e[31merror!\e[0m")
|
121
128
|
subject.error 'error!'
|
122
129
|
end
|
123
130
|
end
|
124
131
|
end
|
125
132
|
end
|
126
|
-
|
127
133
|
end
|
@@ -33,8 +33,8 @@ module Berkshelf
|
|
33
33
|
it 'saves the options' do
|
34
34
|
instance = Uploader.new(berksfile, force: true, validate: false)
|
35
35
|
options = instance.options
|
36
|
-
expect(options[:force]).to
|
37
|
-
expect(options[:validate]).to
|
36
|
+
expect(options[:force]).to be(true)
|
37
|
+
expect(options[:validate]).to be(false)
|
38
38
|
end
|
39
39
|
|
40
40
|
it 'saves the names' do
|
@@ -43,35 +43,6 @@ module Berkshelf
|
|
43
43
|
end
|
44
44
|
end
|
45
45
|
|
46
|
-
describe '#validate_files!' do
|
47
|
-
before { Uploader.send(:public, :validate_files!) }
|
48
|
-
|
49
|
-
let(:cookbook) { double('cookbook', cookbook_name: 'cookbook', path: 'path') }
|
50
|
-
|
51
|
-
it 'raises an error when the cookbook has spaces in the files' do
|
52
|
-
Dir.stub(:glob).and_return(['/there are/spaces/in this/recipes/default.rb'])
|
53
|
-
expect {
|
54
|
-
subject.validate_files!(cookbook)
|
55
|
-
}.to raise_error
|
56
|
-
end
|
57
|
-
|
58
|
-
it 'does not raise an error when the cookbook is valid' do
|
59
|
-
Dir.stub(:glob).and_return(['/there-are/no-spaces/in-this/recipes/default.rb'])
|
60
|
-
expect {
|
61
|
-
subject.validate_files!(cookbook)
|
62
|
-
}.to_not raise_error
|
63
|
-
end
|
64
|
-
|
65
|
-
it 'does not raise an exception with spaces in the path' do
|
66
|
-
Dir.stub(:glob).and_return(['/there are/spaces/in this/recipes/default.rb'])
|
67
|
-
Pathname.any_instance.stub(:dirname).and_return('/there are/spaces/in this')
|
68
|
-
|
69
|
-
expect {
|
70
|
-
subject.validate_files!(cookbook)
|
71
|
-
}.to_not raise_error
|
72
|
-
end
|
73
|
-
end
|
74
|
-
|
75
46
|
describe '#run' do
|
76
47
|
let(:options) { Hash.new }
|
77
48
|
|
@@ -85,13 +56,16 @@ module Berkshelf
|
|
85
56
|
cookbook_copyright: 'user',
|
86
57
|
cookbook_email: 'user@example.com',
|
87
58
|
cookbook_license: 'apachev2',
|
59
|
+
knife: {
|
60
|
+
chef_guard: false
|
61
|
+
}
|
88
62
|
)
|
89
63
|
end
|
90
64
|
|
91
65
|
let(:berkshelf_config) do
|
92
66
|
double(Config,
|
93
67
|
ssl: double(verify: true),
|
94
|
-
chef: chef_config
|
68
|
+
chef: chef_config
|
95
69
|
)
|
96
70
|
end
|
97
71
|
|
@@ -106,11 +80,11 @@ module Berkshelf
|
|
106
80
|
end
|
107
81
|
|
108
82
|
before do
|
109
|
-
Berkshelf.
|
83
|
+
allow(Berkshelf).to receive(:config).and_return(berkshelf_config)
|
110
84
|
end
|
111
85
|
|
112
86
|
context 'when there is no value for :chef_server_url' do
|
113
|
-
before { chef_config.
|
87
|
+
before { allow(chef_config).to receive_messages(chef_server_url: nil) }
|
114
88
|
let(:message) { 'Missing required attribute in your Berkshelf configuration: chef.server_url' }
|
115
89
|
|
116
90
|
it 'raises an error' do
|
@@ -119,7 +93,7 @@ module Berkshelf
|
|
119
93
|
end
|
120
94
|
|
121
95
|
context 'when there is no value for :client_name' do
|
122
|
-
before { chef_config.
|
96
|
+
before { allow(chef_config).to receive_messages(node_name: nil) }
|
123
97
|
let(:message) { 'Missing required attribute in your Berkshelf configuration: chef.node_name' }
|
124
98
|
|
125
99
|
it 'raises an error' do
|
@@ -128,7 +102,7 @@ module Berkshelf
|
|
128
102
|
end
|
129
103
|
|
130
104
|
context 'when there is no value for :client_key' do
|
131
|
-
before { chef_config.
|
105
|
+
before { allow(chef_config).to receive_messages(client_key: nil) }
|
132
106
|
let(:message) { 'Missing required attribute in your Berkshelf configuration: chef.client_key' }
|
133
107
|
|
134
108
|
it 'raises an error' do
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Berkshelf::Validator do
|
4
|
+
describe '#validate_files' do
|
5
|
+
let(:cookbook) { double('cookbook', cookbook_name: 'cookbook', path: 'path') }
|
6
|
+
|
7
|
+
it 'raises an error when the cookbook has spaces in the files' do
|
8
|
+
allow(Dir).to receive(:glob).and_return(['/there are/spaces/in this/recipes/default.rb'])
|
9
|
+
expect {
|
10
|
+
subject.validate_files(cookbook)
|
11
|
+
}.to raise_error
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'does not raise an error when the cookbook is valid' do
|
15
|
+
allow(Dir).to receive(:glob).and_return(['/there-are/no-spaces/in-this/recipes/default.rb'])
|
16
|
+
expect {
|
17
|
+
subject.validate_files(cookbook)
|
18
|
+
}.to_not raise_error
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'does not raise an exception with spaces in the path' do
|
22
|
+
allow(Dir).to receive(:glob).and_return(['/there are/spaces/in this/recipes/default.rb'])
|
23
|
+
allow_any_instance_of(Pathname).to receive(:dirname).and_return('/there are/spaces/in this')
|
24
|
+
|
25
|
+
expect {
|
26
|
+
subject.validate_files(cookbook)
|
27
|
+
}.to_not raise_error
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
require 'rspec'
|
1
2
|
require 'spec_helper'
|
2
3
|
|
3
4
|
module Berkshelf
|
@@ -5,9 +6,12 @@ module Berkshelf
|
|
5
6
|
describe '#to_png' do
|
6
7
|
context 'when graphviz is not installed' do
|
7
8
|
before do
|
8
|
-
Berkshelf.
|
9
|
+
allow(Berkshelf).to receive(:which)
|
9
10
|
.with('dot')
|
10
11
|
.and_return(nil)
|
12
|
+
allow(Berkshelf).to receive(:which)
|
13
|
+
.with('dot.exe')
|
14
|
+
.and_return(nil)
|
11
15
|
end
|
12
16
|
|
13
17
|
it 'raises a GraphvizNotInstalled exception' do
|
@@ -18,13 +22,24 @@ module Berkshelf
|
|
18
22
|
context 'when the graphviz command fails', :graphviz do
|
19
23
|
before do
|
20
24
|
response = double(success?: false, stderr: 'Something happened!')
|
21
|
-
subject.
|
25
|
+
allow(subject).to receive(:shell_out).and_return(response)
|
22
26
|
end
|
23
27
|
|
24
28
|
it 'raises a GraphvizCommandFailed exception' do
|
25
29
|
expect { subject.to_png }.to raise_error(GraphvizCommandFailed)
|
26
30
|
end
|
27
31
|
end
|
32
|
+
|
33
|
+
context 'when the graphviz command succeeds', :graphviz do
|
34
|
+
it 'builds a png from a Lockfile' do
|
35
|
+
outfile = tmp_path.join('test-graph.png').to_s
|
36
|
+
lockfile = Lockfile.from_file(fixtures_path.join('lockfiles/default.lock').to_s)
|
37
|
+
|
38
|
+
Visualizer.from_lockfile(lockfile).to_png(outfile)
|
39
|
+
|
40
|
+
expect(File.exists?(outfile)).to be true
|
41
|
+
end
|
42
|
+
end
|
28
43
|
end
|
29
44
|
end
|
30
45
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: berkshelf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jamie Winsor
|
@@ -12,7 +12,7 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date: 2014-
|
15
|
+
date: 2014-10-29 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: addressable
|
@@ -84,6 +84,20 @@ dependencies:
|
|
84
84
|
- - "~>"
|
85
85
|
- !ruby/object:Gem::Version
|
86
86
|
version: '0.1'
|
87
|
+
- !ruby/object:Gem::Dependency
|
88
|
+
name: cleanroom
|
89
|
+
requirement: !ruby/object:Gem::Requirement
|
90
|
+
requirements:
|
91
|
+
- - "~>"
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '1.0'
|
94
|
+
type: :runtime
|
95
|
+
prerelease: false
|
96
|
+
version_requirements: !ruby/object:Gem::Requirement
|
97
|
+
requirements:
|
98
|
+
- - "~>"
|
99
|
+
- !ruby/object:Gem::Version
|
100
|
+
version: '1.0'
|
87
101
|
- !ruby/object:Gem::Dependency
|
88
102
|
name: faraday
|
89
103
|
requirement: !ruby/object:Gem::Requirement
|
@@ -160,14 +174,14 @@ dependencies:
|
|
160
174
|
requirements:
|
161
175
|
- - "~>"
|
162
176
|
- !ruby/object:Gem::Version
|
163
|
-
version: '0.
|
177
|
+
version: '0.19'
|
164
178
|
type: :runtime
|
165
179
|
prerelease: false
|
166
180
|
version_requirements: !ruby/object:Gem::Requirement
|
167
181
|
requirements:
|
168
182
|
- - "~>"
|
169
183
|
- !ruby/object:Gem::Version
|
170
|
-
version: '0.
|
184
|
+
version: '0.19'
|
171
185
|
- !ruby/object:Gem::Dependency
|
172
186
|
name: octokit
|
173
187
|
requirement: !ruby/object:Gem::Requirement
|
@@ -188,42 +202,42 @@ dependencies:
|
|
188
202
|
requirements:
|
189
203
|
- - "~>"
|
190
204
|
- !ruby/object:Gem::Version
|
191
|
-
version: 0.16.0
|
205
|
+
version: 0.16.0
|
192
206
|
type: :runtime
|
193
207
|
prerelease: false
|
194
208
|
version_requirements: !ruby/object:Gem::Requirement
|
195
209
|
requirements:
|
196
210
|
- - "~>"
|
197
211
|
- !ruby/object:Gem::Version
|
198
|
-
version: 0.16.0
|
212
|
+
version: 0.16.0
|
199
213
|
- !ruby/object:Gem::Dependency
|
200
214
|
name: celluloid-io
|
201
215
|
requirement: !ruby/object:Gem::Requirement
|
202
216
|
requirements:
|
203
217
|
- - "~>"
|
204
218
|
- !ruby/object:Gem::Version
|
205
|
-
version: 0.16.
|
219
|
+
version: 0.16.1
|
206
220
|
type: :runtime
|
207
221
|
prerelease: false
|
208
222
|
version_requirements: !ruby/object:Gem::Requirement
|
209
223
|
requirements:
|
210
224
|
- - "~>"
|
211
225
|
- !ruby/object:Gem::Version
|
212
|
-
version: 0.16.
|
226
|
+
version: 0.16.1
|
213
227
|
- !ruby/object:Gem::Dependency
|
214
228
|
name: aruba
|
215
229
|
requirement: !ruby/object:Gem::Requirement
|
216
230
|
requirements:
|
217
231
|
- - "~>"
|
218
232
|
- !ruby/object:Gem::Version
|
219
|
-
version: '0.
|
233
|
+
version: '0.6'
|
220
234
|
type: :development
|
221
235
|
prerelease: false
|
222
236
|
version_requirements: !ruby/object:Gem::Requirement
|
223
237
|
requirements:
|
224
238
|
- - "~>"
|
225
239
|
- !ruby/object:Gem::Version
|
226
|
-
version: '0.
|
240
|
+
version: '0.6'
|
227
241
|
- !ruby/object:Gem::Dependency
|
228
242
|
name: chef-zero
|
229
243
|
requirement: !ruby/object:Gem::Requirement
|
@@ -272,14 +286,14 @@ dependencies:
|
|
272
286
|
requirements:
|
273
287
|
- - "~>"
|
274
288
|
- !ruby/object:Gem::Version
|
275
|
-
version: '
|
289
|
+
version: '3.0'
|
276
290
|
type: :development
|
277
291
|
prerelease: false
|
278
292
|
version_requirements: !ruby/object:Gem::Requirement
|
279
293
|
requirements:
|
280
294
|
- - "~>"
|
281
295
|
- !ruby/object:Gem::Version
|
282
|
-
version: '
|
296
|
+
version: '3.0'
|
283
297
|
- !ruby/object:Gem::Dependency
|
284
298
|
name: spork
|
285
299
|
requirement: !ruby/object:Gem::Requirement
|
@@ -378,6 +392,7 @@ files:
|
|
378
392
|
- features/commands/update.feature
|
379
393
|
- features/commands/upload.feature
|
380
394
|
- features/commands/vendor.feature
|
395
|
+
- features/commands/verify.feature
|
381
396
|
- features/commands/viz.feature
|
382
397
|
- features/community_site.feature
|
383
398
|
- features/config.feature
|
@@ -433,6 +448,7 @@ files:
|
|
433
448
|
- lib/berkshelf/dependency.rb
|
434
449
|
- lib/berkshelf/downloader.rb
|
435
450
|
- lib/berkshelf/errors.rb
|
451
|
+
- lib/berkshelf/file_syncer.rb
|
436
452
|
- lib/berkshelf/formatters/base.rb
|
437
453
|
- lib/berkshelf/formatters/human.rb
|
438
454
|
- lib/berkshelf/formatters/json.rb
|
@@ -446,7 +462,6 @@ files:
|
|
446
462
|
- lib/berkshelf/locations/path.rb
|
447
463
|
- lib/berkshelf/lockfile.rb
|
448
464
|
- lib/berkshelf/logger.rb
|
449
|
-
- lib/berkshelf/mixin/dsl_eval.rb
|
450
465
|
- lib/berkshelf/mixin/git.rb
|
451
466
|
- lib/berkshelf/mixin/logging.rb
|
452
467
|
- lib/berkshelf/packager.rb
|
@@ -459,6 +474,7 @@ files:
|
|
459
474
|
- lib/berkshelf/thor_ext.rb
|
460
475
|
- lib/berkshelf/thor_ext/hash_with_indifferent_access.rb
|
461
476
|
- lib/berkshelf/uploader.rb
|
477
|
+
- lib/berkshelf/validator.rb
|
462
478
|
- lib/berkshelf/version.rb
|
463
479
|
- lib/berkshelf/visualizer.rb
|
464
480
|
- spec/config/berkshelf.pem
|
@@ -500,6 +516,7 @@ files:
|
|
500
516
|
- spec/unit/berkshelf/dependency_spec.rb
|
501
517
|
- spec/unit/berkshelf/downloader_spec.rb
|
502
518
|
- spec/unit/berkshelf/errors_spec.rb
|
519
|
+
- spec/unit/berkshelf/file_syncer_spec.rb
|
503
520
|
- spec/unit/berkshelf/formatters/base_spec.rb
|
504
521
|
- spec/unit/berkshelf/formatters/human_spec.rb
|
505
522
|
- spec/unit/berkshelf/formatters/json_spec.rb
|
@@ -513,7 +530,6 @@ files:
|
|
513
530
|
- spec/unit/berkshelf/lockfile_parser_spec.rb
|
514
531
|
- spec/unit/berkshelf/lockfile_spec.rb
|
515
532
|
- spec/unit/berkshelf/logger_spec.rb
|
516
|
-
- spec/unit/berkshelf/mixin/dsl_eval_spec.rb
|
517
533
|
- spec/unit/berkshelf/mixin/logging_spec.rb
|
518
534
|
- spec/unit/berkshelf/packager_spec.rb
|
519
535
|
- spec/unit/berkshelf/resolver/graph_spec.rb
|
@@ -522,6 +538,7 @@ files:
|
|
522
538
|
- spec/unit/berkshelf/source_spec.rb
|
523
539
|
- spec/unit/berkshelf/source_uri_spec.rb
|
524
540
|
- spec/unit/berkshelf/uploader_spec.rb
|
541
|
+
- spec/unit/berkshelf/validator_spec.rb
|
525
542
|
- spec/unit/berkshelf/visualizer_spec.rb
|
526
543
|
- spec/unit/berkshelf_spec.rb
|
527
544
|
homepage: http://berkshelf.com
|
@@ -567,6 +584,7 @@ test_files:
|
|
567
584
|
- features/commands/update.feature
|
568
585
|
- features/commands/upload.feature
|
569
586
|
- features/commands/vendor.feature
|
587
|
+
- features/commands/verify.feature
|
570
588
|
- features/commands/viz.feature
|
571
589
|
- features/community_site.feature
|
572
590
|
- features/config.feature
|
@@ -625,6 +643,7 @@ test_files:
|
|
625
643
|
- spec/unit/berkshelf/dependency_spec.rb
|
626
644
|
- spec/unit/berkshelf/downloader_spec.rb
|
627
645
|
- spec/unit/berkshelf/errors_spec.rb
|
646
|
+
- spec/unit/berkshelf/file_syncer_spec.rb
|
628
647
|
- spec/unit/berkshelf/formatters/base_spec.rb
|
629
648
|
- spec/unit/berkshelf/formatters/human_spec.rb
|
630
649
|
- spec/unit/berkshelf/formatters/json_spec.rb
|
@@ -638,7 +657,6 @@ test_files:
|
|
638
657
|
- spec/unit/berkshelf/lockfile_parser_spec.rb
|
639
658
|
- spec/unit/berkshelf/lockfile_spec.rb
|
640
659
|
- spec/unit/berkshelf/logger_spec.rb
|
641
|
-
- spec/unit/berkshelf/mixin/dsl_eval_spec.rb
|
642
660
|
- spec/unit/berkshelf/mixin/logging_spec.rb
|
643
661
|
- spec/unit/berkshelf/packager_spec.rb
|
644
662
|
- spec/unit/berkshelf/resolver/graph_spec.rb
|
@@ -647,6 +665,7 @@ test_files:
|
|
647
665
|
- spec/unit/berkshelf/source_spec.rb
|
648
666
|
- spec/unit/berkshelf/source_uri_spec.rb
|
649
667
|
- spec/unit/berkshelf/uploader_spec.rb
|
668
|
+
- spec/unit/berkshelf/validator_spec.rb
|
650
669
|
- spec/unit/berkshelf/visualizer_spec.rb
|
651
670
|
- spec/unit/berkshelf_spec.rb
|
652
671
|
has_rdoc:
|