61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
# File 'lib/chef/cookbook_loader.rb', line 61
def load_cookbooks
cookbook_settings = Hash.new
@repo_paths.each do |repo_path|
repo_path = File.expand_path(repo_path)
chefignore = Cookbook::Chefignore.new(repo_path)
Dir[File.join(repo_path, "*")].each do |cookbook_path|
next unless File.directory?(cookbook_path)
loader = Cookbook::CookbookVersionLoader.new(cookbook_path, chefignore)
loader.load_cookbooks
next if loader.empty?
@cookbooks_paths[loader.cookbook_name] << cookbook_path
if @loaded_cookbooks.key?(loader.cookbook_name)
@merged_cookbooks << loader.cookbook_name
@loaded_cookbooks[loader.cookbook_name].merge!(loader)
else
@loaded_cookbooks[loader.cookbook_name] = loader
end
end
end
@loaded_cookbooks.each do |cookbook, loader|
cookbook_version = loader.cookbook_version
@cookbooks_by_name[cookbook] = cookbook_version
@metadata[cookbook] = cookbook_version.metadata
end
@cookbooks_by_name
end
|