74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
# File 'lib/chef/chef_fs/file_system/chef_server/cookbooks_dir.rb', line 74
def upload_cookbook(other, options)
cookbook = other.chef_object if other.chef_object
raise Chef::Exceptions::MetadataNotFound.new(cookbook.root_paths[0], cookbook.name) unless cookbook.has_metadata_file?
if cookbook
Chef::CookbookLoader.copy_to_tmp_dir_from_array([cookbook]) do |tmp_cl|
tmp_cl.load_cookbooks
tmp_cl.compile_metadata
tmp_cl.freeze_versions if options[:freeze]
cookbook_for_upload = []
tmp_cl.each do |cookbook_name, cookbook|
cookbook_for_upload << cookbook
end
uploader = Chef::CookbookUploader.new(cookbook_for_upload, force: options[:force], rest: chef_rest)
with_actual_cookbooks_dir(other.parent.file_path) do
uploader.upload_cookbooks
end
end
end
end
|