Class: Kitchen::Provisioner::Chef::Berkshelf
- Inherits:
-
Object
- Object
- Kitchen::Provisioner::Chef::Berkshelf
- Includes:
- Logging
- Defined in:
- lib/kitchen/provisioner/chef/berkshelf.rb
Overview
Chef cookbook resolver that uses Berkshelf and a Berksfile to calculate dependencies.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(berksfile, path, logger = Kitchen.logger) ⇒ Berkshelf
constructor
A new instance of Berkshelf.
- #resolve ⇒ Object
Constructor Details
Class Method Details
Instance Method Details
#resolve ⇒ Object
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/kitchen/provisioner/chef/berkshelf.rb', line 46 def resolve version = ::Berkshelf::VERSION info("Resolving cookbook dependencies with Berkshelf #{version}...") debug("Using Berksfile from #{berksfile}") ::Berkshelf.ui.mute do if ::Berkshelf::Berksfile.method_defined?(:vendor) # Berkshelf 3.0 requires the directory to not exist FileUtils.rm_rf(path) ::Berkshelf::Berksfile.from_file(berksfile).vendor(path) else ::Berkshelf::Berksfile.from_file(berksfile).install(path: path) end end end |