berkshelf 7.0.6 → 7.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (123) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +7 -7
  3. data/Rakefile +2 -2
  4. data/berkshelf.gemspec +9 -10
  5. data/bin/berks +5 -0
  6. data/lib/berkshelf.rb +2 -2
  7. data/lib/berkshelf/api_client/chef_server_connection.rb +3 -2
  8. data/lib/berkshelf/api_client/connection.rb +1 -1
  9. data/lib/berkshelf/berksfile.rb +47 -41
  10. data/lib/berkshelf/cached_cookbook.rb +6 -4
  11. data/lib/berkshelf/chef_config_compat.rb +1 -0
  12. data/lib/berkshelf/chef_repo_universe.rb +6 -4
  13. data/lib/berkshelf/cli.rb +12 -7
  14. data/lib/berkshelf/commands/shelf.rb +1 -1
  15. data/lib/berkshelf/community_rest.rb +4 -4
  16. data/lib/berkshelf/config.rb +1 -1
  17. data/lib/berkshelf/core_ext.rb +1 -1
  18. data/lib/berkshelf/core_ext/file_utils.rb +2 -2
  19. data/lib/berkshelf/dependency.rb +1 -1
  20. data/lib/berkshelf/downloader.rb +10 -3
  21. data/lib/berkshelf/errors.rb +2 -2
  22. data/lib/berkshelf/formatters/human.rb +1 -1
  23. data/lib/berkshelf/formatters/json.rb +4 -4
  24. data/lib/berkshelf/installer.rb +1 -1
  25. data/lib/berkshelf/location.rb +3 -3
  26. data/lib/berkshelf/lockfile.rb +14 -14
  27. data/lib/berkshelf/logger.rb +4 -2
  28. data/lib/berkshelf/mixin/git.rb +1 -1
  29. data/lib/berkshelf/packager.rb +2 -2
  30. data/lib/berkshelf/resolver.rb +1 -1
  31. data/lib/berkshelf/ridley_compat.rb +1 -1
  32. data/lib/berkshelf/shell.rb +1 -0
  33. data/lib/berkshelf/source.rb +6 -5
  34. data/lib/berkshelf/ssl_policies.rb +1 -3
  35. data/lib/berkshelf/thor.rb +1 -1
  36. data/lib/berkshelf/thor_ext.rb +1 -1
  37. data/lib/berkshelf/uploader.rb +11 -9
  38. data/lib/berkshelf/version.rb +1 -1
  39. data/lib/berkshelf/visualizer.rb +1 -1
  40. data/spec/config/knife.rb +1 -1
  41. data/spec/support/chef_server.rb +2 -2
  42. data/spec/support/git.rb +18 -18
  43. data/spec/support/path_helpers.rb +4 -4
  44. data/spec/tmp/berkshelf/cookbooks/dep-1.0.0/attributes/default.rb +0 -0
  45. data/spec/tmp/berkshelf/cookbooks/dep-1.0.0/files/default/file.h +0 -0
  46. data/spec/tmp/berkshelf/cookbooks/dep-1.0.0/metadata.rb +2 -0
  47. data/spec/tmp/berkshelf/cookbooks/dep-1.0.0/recipes/default.rb +0 -0
  48. data/spec/tmp/berkshelf/cookbooks/dep-1.0.0/templates/default/template.erb +0 -0
  49. data/spec/tmp/berkshelf/cookbooks/ekaf-1.0.0/attributes/default.rb +0 -0
  50. data/spec/tmp/berkshelf/cookbooks/ekaf-1.0.0/files/default/file.h +0 -0
  51. data/spec/tmp/berkshelf/cookbooks/ekaf-1.0.0/metadata.rb +3 -0
  52. data/spec/tmp/berkshelf/cookbooks/ekaf-1.0.0/recipes/default.rb +0 -0
  53. data/spec/tmp/berkshelf/cookbooks/ekaf-1.0.0/templates/default/template.erb +0 -0
  54. data/spec/tmp/berkshelf/cookbooks/fake-1.0.0/attributes/default.rb +0 -0
  55. data/spec/tmp/berkshelf/cookbooks/fake-1.0.0/files/default/file.h +0 -0
  56. data/spec/tmp/berkshelf/cookbooks/fake-1.0.0/metadata.rb +3 -0
  57. data/spec/tmp/berkshelf/cookbooks/fake-1.0.0/recipes/default.rb +0 -0
  58. data/spec/tmp/berkshelf/cookbooks/fake-1.0.0/templates/default/template.erb +0 -0
  59. data/spec/unit/berkshelf/berksfile_spec.rb +7 -7
  60. data/spec/unit/berkshelf/cli_spec.rb +1 -2
  61. data/spec/unit/berkshelf/community_rest_spec.rb +1 -1
  62. data/spec/unit/berkshelf/core_ext/file_utils_spec.rb +2 -2
  63. data/spec/unit/berkshelf/dependency_spec.rb +5 -5
  64. data/spec/unit/berkshelf/downloader_spec.rb +29 -8
  65. data/spec/unit/berkshelf/locations/base_spec.rb +1 -2
  66. data/spec/unit/berkshelf/locations/path_spec.rb +1 -2
  67. data/spec/unit/berkshelf/lockfile_spec.rb +9 -18
  68. data/spec/unit/berkshelf/ridley_compat_spec.rb +1 -1
  69. data/spec/unit/berkshelf/source_spec.rb +8 -7
  70. data/spec/unit/berkshelf/ssl_policies_spec.rb +3 -5
  71. data/spec/unit/berkshelf/uploader_spec.rb +6 -10
  72. metadata +49 -188
  73. data/.github/lock.yml +0 -1
  74. data/.gitignore +0 -30
  75. data/.rubocop.yml +0 -12
  76. data/.travis.yml +0 -73
  77. data/CHANGELOG.legacy.md +0 -307
  78. data/CHANGELOG.md +0 -1582
  79. data/CONTRIBUTING.md +0 -68
  80. data/Gemfile.lock +0 -301
  81. data/PLUGINS.md +0 -25
  82. data/README.md +0 -72
  83. data/Thorfile +0 -61
  84. data/appveyor.yml +0 -31
  85. data/docs/berkshelf_for_newcomers.md +0 -64
  86. data/features/artifactory.feature +0 -70
  87. data/features/berksfile.feature +0 -46
  88. data/features/commands/apply.feature +0 -41
  89. data/features/commands/contingent.feature +0 -47
  90. data/features/commands/info.feature +0 -141
  91. data/features/commands/install.feature +0 -646
  92. data/features/commands/list.feature +0 -78
  93. data/features/commands/outdated.feature +0 -127
  94. data/features/commands/package.feature +0 -17
  95. data/features/commands/search.feature +0 -17
  96. data/features/commands/shelf/list.feature +0 -32
  97. data/features/commands/shelf/show.feature +0 -113
  98. data/features/commands/shelf/uninstall.feature +0 -96
  99. data/features/commands/show.feature +0 -83
  100. data/features/commands/update.feature +0 -142
  101. data/features/commands/upload.feature +0 -499
  102. data/features/commands/vendor.feature +0 -154
  103. data/features/commands/verify.feature +0 -29
  104. data/features/commands/viz.feature +0 -66
  105. data/features/community_site.feature +0 -37
  106. data/features/help.feature +0 -11
  107. data/features/json_formatter.feature +0 -158
  108. data/features/lifecycle.feature +0 -378
  109. data/features/lockfile.feature +0 -378
  110. data/features/step_definitions/berksfile_steps.rb +0 -54
  111. data/features/step_definitions/chef/config_steps.rb +0 -12
  112. data/features/step_definitions/chef_server_steps.rb +0 -60
  113. data/features/step_definitions/cli_steps.rb +0 -18
  114. data/features/step_definitions/config_steps.rb +0 -46
  115. data/features/step_definitions/environment_steps.rb +0 -11
  116. data/features/step_definitions/filesystem_steps.rb +0 -286
  117. data/features/step_definitions/gem_steps.rb +0 -13
  118. data/features/step_definitions/json_steps.rb +0 -29
  119. data/features/step_definitions/utility_steps.rb +0 -11
  120. data/features/support/aruba.rb +0 -12
  121. data/features/support/env.rb +0 -77
  122. data/spec/fixtures/cookbooks/example_cookbook/.gitignore +0 -2
  123. data/spec/fixtures/cookbooks/example_cookbook/.kitchen.yml +0 -26
@@ -69,13 +69,13 @@ module Berkshelf
69
69
  # how often we should pause between retries
70
70
  def initialize(uri = V1_API, options = {})
71
71
  options = options.dup
72
- options = { retries: 5, retry_interval: 0.5, ssl: Berkshelf::Config.instance.ssl }.merge(options)
73
- @api_uri = uri
72
+ options = { retries: 5, retry_interval: 0.5, ssl: Berkshelf::Config.instance.ssl }.merge(options)
73
+ @api_uri = uri
74
74
  options[:server_url] = uri
75
- @retries = options.delete(:retries)
75
+ @retries = options.delete(:retries)
76
76
  @retry_interval = options.delete(:retry_interval)
77
77
 
78
- @connection = Berkshelf::RidleyCompatJSON.new(options)
78
+ @connection = Berkshelf::RidleyCompatJSON.new(**options)
79
79
  end
80
80
 
81
81
  # Download and extract target cookbook archive to the local file system,
@@ -122,7 +122,7 @@ module Berkshelf
122
122
  default :email, nil
123
123
  default :license, nil
124
124
  end
125
- default :allowed_licenses, Array.new
125
+ default :allowed_licenses, []
126
126
  default :raise_license_exception, false
127
127
  config_context :vagrant do
128
128
  config_context :vm do
@@ -1,3 +1,3 @@
1
1
  Dir["#{File.dirname(__FILE__)}/core_ext/*.rb"].sort.each do |path|
2
- require_relative "core_ext/#{File.basename(path, '.rb')}"
2
+ require_relative "core_ext/#{File.basename(path, ".rb")}"
3
3
  end
@@ -14,10 +14,10 @@ module FileUtils
14
14
  # symlink on Linux
15
15
  # @see {FileUtils::mv}
16
16
  def mv(src, dest, options = {})
17
- old_mv(src, dest, options)
17
+ old_mv(src, dest, **options)
18
18
  rescue Errno::EACCES, Errno::ENOENT
19
19
  options.delete(:force) if options.key?(:force)
20
- FileUtils.cp_r(src, dest, options)
20
+ FileUtils.cp_r(src, dest, **options)
21
21
  FileUtils.rm_rf(src)
22
22
  end
23
23
  end
@@ -171,7 +171,7 @@ module Berkshelf
171
171
  "#{name} (#{version_constraint})",
172
172
  "locked_version: #{locked_version.inspect}",
173
173
  "groups: #{groups}",
174
- "location: #{location || 'default'}>",
174
+ "location: #{location || "default"}>",
175
175
  ].join(", ")
176
176
  end
177
177
 
@@ -1,6 +1,7 @@
1
1
  require "net/http"
2
2
  require "mixlib/archive"
3
- require "berkshelf/ssl_policies"
3
+ require_relative "ssl_policies"
4
+ require "faraday"
4
5
 
5
6
  module Berkshelf
6
7
  class Downloader
@@ -68,7 +69,11 @@ module Berkshelf
68
69
  if source.type == :artifactory
69
70
  options[:headers] = { "X-Jfrog-Art-Api" => source.options[:api_key] }
70
71
  end
71
- CommunityREST.new(remote_cookbook.location_path, options).download(name, version)
72
+
73
+ # Allow Berkshelf install to function if a relative url exists in location_path
74
+ path = URI.parse(remote_cookbook.location_path).absolute? ? remote_cookbook.location_path : "#{source.uri_string}#{remote_cookbook.location_path}"
75
+
76
+ CommunityREST.new(path, options).download(name, version)
72
77
  when :chef_server
73
78
  tmp_dir = Dir.mktmpdir
74
79
  unpack_dir = Pathname.new(tmp_dir) + "#{name}-#{version}"
@@ -116,7 +121,7 @@ module Berkshelf
116
121
  )
117
122
 
118
123
  begin
119
- url = URI(github_client.archive_link(cookbook_uri.path.gsub(/^\//, ""), ref: "v#{version}"))
124
+ url = URI(github_client.archive_link(cookbook_uri.path.gsub(%r{^/}, ""), ref: "v#{version}"))
120
125
  rescue Octokit::Unauthorized
121
126
  return nil
122
127
  end
@@ -127,6 +132,7 @@ module Berkshelf
127
132
  http.verify_mode = (options["ssl_verify"].nil? || options["ssl_verify"]) ? OpenSSL::SSL::VERIFY_PEER : OpenSSL::SSL::VERIFY_NONE
128
133
  resp = http.get(url.request_uri)
129
134
  return nil unless resp.is_a?(Net::HTTPSuccess)
135
+
130
136
  open(archive_path, "wb") { |file| file.write(resp.body) }
131
137
 
132
138
  Mixlib::Archive.new(archive_path).extract(unpack_dir)
@@ -179,6 +185,7 @@ module Berkshelf
179
185
 
180
186
  resp = connection.get(cookbook_uri.request_uri + "&private_token=" + options["private_token"])
181
187
  return nil unless resp.status == 200
188
+
182
189
  open(archive_path, "wb") { |file| file.write(resp.body) }
183
190
 
184
191
  Mixlib::Archive.new(archive_path).extract(unpack_dir)
@@ -83,7 +83,7 @@ module Berkshelf
83
83
 
84
84
  def to_s
85
85
  @original_exception.to_s +
86
- "Unable to find a solution for demands: #{demands.join(', ')}"
86
+ "Unable to find a solution for demands: #{demands.join(", ")}"
87
87
  end
88
88
 
89
89
  alias_method :message, :to_s
@@ -372,7 +372,7 @@ module Berkshelf
372
372
 
373
373
  def to_s
374
374
  "Unknown license: '#{license}'\n" +
375
- "Available licenses: #{CookbookGenerator::LICENSES.join(', ')}"
375
+ "Available licenses: #{CookbookGenerator::LICENSES.join(", ")}"
376
376
  end
377
377
 
378
378
  alias_method :message, :to_s
@@ -68,7 +68,7 @@ module Berkshelf
68
68
 
69
69
  hash.each do |name, info|
70
70
  info["remote"].each do |remote_source, remote_version|
71
- out = " * #{name} (#{info['local']} => #{remote_version})"
71
+ out = " * #{name} (#{info["local"]} => #{remote_version})"
72
72
 
73
73
  unless remote_source.default?
74
74
  out << " [#{remote_source.uri}]"
@@ -8,11 +8,11 @@ module Berkshelf
8
8
  def initialize
9
9
  @output = {
10
10
  cookbooks: [],
11
- errors: [],
12
- messages: [],
13
- warnings: [],
11
+ errors: [],
12
+ messages: [],
13
+ warnings: [],
14
14
  }
15
- @cookbooks = Hash.new
15
+ @cookbooks = {}
16
16
 
17
17
  Berkshelf.ui.mute { super }
18
18
  end
@@ -1,4 +1,4 @@
1
- require "berkshelf/api-client"
1
+ require_relative "api-client"
2
2
  require "concurrent/executors"
3
3
  require "concurrent/future"
4
4
 
@@ -28,9 +28,9 @@ module Berkshelf
28
28
 
29
29
  private
30
30
 
31
- # Load the correct location from the given options.
32
- #
33
- # @return [Class, nil]
31
+ # Load the correct location from the given options.
32
+ #
33
+ # @return [Class, nil]
34
34
  def klass_from_options(options)
35
35
  options.each do |key, _|
36
36
  id = key.to_s.capitalize
@@ -228,7 +228,7 @@ module Berkshelf
228
228
 
229
229
  # @return [Array<CachedCookbook>]
230
230
  def cached
231
- graph.locks.values.collect { |dependency| dependency.cached_cookbook }
231
+ graph.locks.values.collect(&:cached_cookbook)
232
232
  end
233
233
 
234
234
  # The list of dependencies constrained in this lockfile.
@@ -511,13 +511,13 @@ module Berkshelf
511
511
  "#<Berkshelf::Lockfile #{Pathname.new(filepath).basename}, dependencies: #{dependencies.inspect}>"
512
512
  end
513
513
 
514
- # The class responsible for parsing the lockfile and turning it into a
515
- # useful data structure.
514
+ # The class responsible for parsing the lockfile and turning it into a
515
+ # useful data structure.
516
516
  class LockfileParser
517
517
  NAME_VERSION = '(?! )(.*?)(?: \(([^-]*)(?:-(.*))?\))?'.freeze
518
- DEPENDENCY_PATTERN = /^ {2}#{NAME_VERSION}$/
519
- DEPENDENCIES_PATTERN = /^ {4}#{NAME_VERSION}$/
520
- OPTION_PATTERN = /^ {4}(.+)\: (.+)/
518
+ DEPENDENCY_PATTERN = /^ {2}#{NAME_VERSION}$/.freeze
519
+ DEPENDENCIES_PATTERN = /^ {4}#{NAME_VERSION}$/.freeze
520
+ OPTION_PATTERN = /^ {4}(.+)\: (.+)/.freeze
521
521
 
522
522
  # Create a new lockfile parser.
523
523
  #
@@ -570,7 +570,7 @@ module Berkshelf
570
570
  end
571
571
  end
572
572
 
573
- graph << " #{name} (#{info['locked_version']})\n"
573
+ graph << " #{name} (#{info["locked_version"]})\n"
574
574
  end
575
575
 
576
576
  contents = "#{dependencies}\n#{graph}"
@@ -599,9 +599,9 @@ module Berkshelf
599
599
 
600
600
  private
601
601
 
602
- # Parse a dependency line.
603
- #
604
- # @param [String] line
602
+ # Parse a dependency line.
603
+ #
604
+ # @param [String] line
605
605
  def parse_dependency(line)
606
606
  if line =~ DEPENDENCY_PATTERN
607
607
  name, version = $1, $2
@@ -615,9 +615,9 @@ module Berkshelf
615
615
  end
616
616
  end
617
617
 
618
- # Parse a graph line.
619
- #
620
- # @param [String] line
618
+ # Parse a graph line.
619
+ #
620
+ # @param [String] line
621
621
  def parse_graph(line)
622
622
  if line =~ DEPENDENCY_PATTERN
623
623
  name, version = $1, $2
@@ -631,7 +631,7 @@ module Berkshelf
631
631
  end
632
632
  end
633
633
 
634
- # The class representing an internal graph.
634
+ # The class representing an internal graph.
635
635
  class Graph
636
636
  include Enumerable
637
637
 
@@ -3,7 +3,7 @@ module Berkshelf
3
3
  def initialize(device = STDOUT)
4
4
  super
5
5
  self.level = Logger::WARN
6
- @filter_params = Array.new
6
+ @filter_params = []
7
7
  end
8
8
 
9
9
  # Reimplements Logger#add adding message filtering. The info,
@@ -28,6 +28,7 @@ module Berkshelf
28
28
  if @logdev.nil? || severity < (@level)
29
29
  return true
30
30
  end
31
+
31
32
  progname ||= @progname
32
33
  if message.nil?
33
34
  if block_given?
@@ -38,7 +39,8 @@ module Berkshelf
38
39
  end
39
40
  end
40
41
  @logdev.write(
41
- format_message(format_severity(severity), Time.now, progname, filter(message)))
42
+ format_message(format_severity(severity), Time.now, progname, filter(message))
43
+ )
42
44
  true
43
45
  end
44
46
 
@@ -1,4 +1,4 @@
1
- require "berkshelf/shell_out"
1
+ require_relative "../shell_out"
2
2
 
3
3
  module Berkshelf
4
4
  module Mixin
@@ -64,10 +64,10 @@ module Berkshelf
64
64
 
65
65
  private
66
66
 
67
- # @return [String]
67
+ # @return [String]
68
68
  attr_reader :out_dir
69
69
 
70
- # @return [String]
70
+ # @return [String]
71
71
  attr_reader :filename
72
72
  end
73
73
  end
@@ -21,7 +21,7 @@ module Berkshelf
21
21
  def initialize(berksfile, demands = [])
22
22
  @berksfile = berksfile
23
23
  @graph = Graph.new
24
- @demands = Array.new
24
+ @demands = []
25
25
 
26
26
  Array(demands).each { |demand| add_demand(demand) }
27
27
  compute_solver_engine(berksfile)
@@ -1,7 +1,7 @@
1
1
  require "chef/server_api"
2
2
  require "chef/http/simple_json"
3
3
  require "chef/http/simple"
4
- require "berkshelf/api_client/errors"
4
+ require_relative "api_client/errors"
5
5
  require "chef/config"
6
6
  require "chef/cookbook_manifest"
7
7
 
@@ -15,6 +15,7 @@ module Berkshelf
15
15
 
16
16
  def say(*args)
17
17
  return if quiet?
18
+
18
19
  super(*args)
19
20
  end
20
21
  alias_method :info, :say
@@ -1,6 +1,6 @@
1
- require "berkshelf/api-client"
2
- require "berkshelf/chef_repo_universe"
3
- require "berkshelf/ssl_policies"
1
+ require_relative "api-client"
2
+ require_relative "chef_repo_universe"
3
+ require_relative "ssl_policies"
4
4
  require "openssl"
5
5
 
6
6
  module Berkshelf
@@ -84,7 +84,7 @@ module Berkshelf
84
84
  def build_universe
85
85
  @universe = api_client.universe
86
86
  rescue => ex
87
- @universe = Array.new
87
+ @universe = []
88
88
  raise ex
89
89
  end
90
90
 
@@ -154,7 +154,7 @@ module Berkshelf
154
154
  end
155
155
 
156
156
  def inspect
157
- "#<#{self.class.name} #{type}: #{uri.to_s.inspect}, #{options.map { |k, v| "#{k}: #{v.inspect}" }.join(', ')}>"
157
+ "#<#{self.class.name} #{type}: #{uri.to_s.inspect}, #{options.map { |k, v| "#{k}: #{v.inspect}" }.join(", ")}>"
158
158
  end
159
159
 
160
160
  def hash
@@ -163,6 +163,7 @@ module Berkshelf
163
163
 
164
164
  def ==(other)
165
165
  return false unless other.is_a?(self.class)
166
+
166
167
  type == other.type && uri == other.uri
167
168
  end
168
169
 
@@ -8,9 +8,7 @@ module Berkshelf
8
8
  attr_reader :store
9
9
 
10
10
  def initialize
11
- @store = OpenSSL::X509::Store.new.tap do |store|
12
- store.set_default_paths
13
- end
11
+ @store = OpenSSL::X509::Store.new.tap(&:set_default_paths)
14
12
 
15
13
  set_custom_certs if ::File.exist?(trusted_certs_dir)
16
14
  end
@@ -1 +1 @@
1
- require "berkshelf/cli"
1
+ require_relative "cli"
@@ -1,3 +1,3 @@
1
1
  Dir["#{File.dirname(__FILE__)}/thor_ext/*.rb"].sort.each do |path|
2
- require_relative "thor_ext/#{File.basename(path, '.rb')}"
2
+ require_relative "thor_ext/#{File.basename(path, ".rb")}"
3
3
  end
@@ -16,10 +16,10 @@ module Berkshelf
16
16
  opts = args.last.respond_to?(:to_hash) ? args.pop.to_hash.each_with_object({}) { |(k, v), m| m[k.to_sym] = v } : {}
17
17
 
18
18
  @options = {
19
- force: false,
20
- freeze: true,
19
+ force: false,
20
+ freeze: true,
21
21
  halt_on_frozen: false,
22
- validate: true,
22
+ validate: true,
23
23
  }.merge(opts)
24
24
 
25
25
  @names = Array(args).flatten
@@ -32,7 +32,7 @@ module Berkshelf
32
32
  Berkshelf.log.debug " No names given, using all cookbooks"
33
33
  filtered_cookbooks
34
34
  else
35
- Berkshelf.log.debug " Names given (#{names.join(', ')})"
35
+ Berkshelf.log.debug " Names given (#{names.join(", ")})"
36
36
  names.map { |name| lockfile.retrieve(name) }
37
37
  end
38
38
 
@@ -45,10 +45,10 @@ module Berkshelf
45
45
 
46
46
  private
47
47
 
48
- # Upload the list of cookbooks to the Chef Server, with some exception
49
- # wrapping.
50
- #
51
- # @param [Array<String>] cookbooks
48
+ # Upload the list of cookbooks to the Chef Server, with some exception
49
+ # wrapping.
50
+ #
51
+ # @param [Array<String>] cookbooks
52
52
  def upload(cookbooks)
53
53
  Berkshelf.log.info "Starting upload"
54
54
 
@@ -75,13 +75,15 @@ module Berkshelf
75
75
  [ cookbook_version ],
76
76
  force: options[:force],
77
77
  concurrency: 1, # sadly
78
- rest: connection
78
+ rest: connection,
79
+ skip_syntax_check: options[:skip_syntax_check]
79
80
  ).upload_cookbooks
80
81
  Berkshelf.formatter.uploaded(cookbook, connection)
81
82
  rescue Chef::Exceptions::CookbookFrozen
82
83
  if options[:halt_on_frozen]
83
84
  raise FrozenCookbook.new(cookbook)
84
85
  end
86
+
85
87
  Berkshelf.formatter.skipping(cookbook, connection)
86
88
  end
87
89
  ensure
@@ -1,3 +1,3 @@
1
1
  module Berkshelf
2
- VERSION = "7.0.6".freeze
2
+ VERSION = "7.1.0".freeze
3
3
  end
@@ -1,6 +1,6 @@
1
1
  require "set"
2
2
  require "tempfile"
3
- require "berkshelf/shell_out"
3
+ require_relative "shell_out"
4
4
 
5
5
  module Berkshelf
6
6
  class Visualizer
@@ -6,5 +6,5 @@ validation_client_name "validator"
6
6
  validation_key File.expand_path("spec/config/validator.pem")
7
7
  chef_server_url "http://localhost:26310"
8
8
  cache_type "BasicFile"
9
- cache_options( path: "#{ENV['HOME']}/.chef/checksums" )
9
+ cache_options( path: "#{ENV["HOME"]}/.chef/checksums" )
10
10
  cookbook_path []