<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -41,3 +41,28 @@ end
 # rake -T to see the tasks this loads.
 
 load 'chef/tasks/chef_repo.rake'
+
+desc &quot;Bundle a single cookbook for distribution&quot;
+task :bundle_cookbook =&gt; [ :metadata ]
+task :bundle_cookbook, :cookbook do |t, args|
+ tarball_name = &quot;#{args.cookbook}.tar.gz&quot;
+ temp_dir = File.join(Dir.tmpdir, &quot;chef-upload-cookbooks&quot;)
+ temp_cookbook_dir = File.join(temp_dir, args.cookbook)
+ tarball_dir = File.join(TOPDIR, &quot;pkgs&quot;)
+ FileUtils.mkdir_p(tarball_dir)
+ FileUtils.mkdir(temp_dir)
+ FileUtils.mkdir(temp_cookbook_dir)
+
+ child_folders = [ &quot;cookbooks/#{args.cookbook}&quot;,
+&quot;site-cookbooks/#{args.cookbook}&quot; ]
+ child_folders.each do |folder|
+   file_path = File.join(TOPDIR, folder, &quot;.&quot;)
+   FileUtils.cp_r(file_path, temp_cookbook_dir) if File.directory?(file_path)
+ end
+
+ system(&quot;tar&quot;, &quot;-C&quot;, temp_dir, &quot;-cvzf&quot;, File.join(tarball_dir,
+tarball_name), &quot;./#{args.cookbook}&quot;)
+
+ FileUtils.rm_rf temp_dir
+end
+</diff>
      <filename>Rakefile</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>af34e92c3c30ca5481fce378a2b10a71a4538b26</id>
    </parent>
  </parents>
  <author>
    <name>Adam Jacob</name>
    <email>adam@opscode.com</email>
  </author>
  <url>http://github.com/opscode/chef-repo/commit/177f4b731e38dc68395a4d227822530e4df39674</url>
  <id>177f4b731e38dc68395a4d227822530e4df39674</id>
  <committed-date>2009-10-29T10:34:14-07:00</committed-date>
  <authored-date>2009-10-29T10:34:14-07:00</authored-date>
  <message>Adding the bundle_cookbook task</message>
  <tree>9f1204ff7ac1bf07795d039852a09c0d2f668636</tree>
  <committer>
    <name>Adam Jacob</name>
    <email>adam@opscode.com</email>
  </committer>
</commit>
