diff options
author | Lamont Granquist <lamont@scriptkiddie.org> | 2016-03-31 11:46:37 -0700 |
---|---|---|
committer | Lamont Granquist <lamont@scriptkiddie.org> | 2016-03-31 11:46:37 -0700 |
commit | 26bded6d81fdacf34bc4704687a0fda54a689d5d (patch) | |
tree | 0545b62cedfe7c776791eeb4814102bbad8ae0f1 | |
parent | 8a39ab08167d37279012d568588e68d151d7a853 (diff) | |
parent | 5d66c8a51fe9c2632603fd53a1476343660e5c7f (diff) | |
download | chef-26bded6d81fdacf34bc4704687a0fda54a689d5d.tar.gz |
Merge pull request #4757 from tas50/better_md
Improve the docs generated by knife cookbook create
-rw-r--r-- | lib/chef/knife/cookbook_create.rb | 54 | ||||
-rw-r--r-- | spec/unit/knife/cookbook_create_spec.rb | 96 |
2 files changed, 80 insertions, 70 deletions
diff --git a/lib/chef/knife/cookbook_create.rb b/lib/chef/knife/cookbook_create.rb index 1e19535fbf..950de380f8 100644 --- a/lib/chef/knife/cookbook_create.rb +++ b/lib/chef/knife/cookbook_create.rb @@ -185,13 +185,11 @@ EOH unless File.exists?(File.join(dir, cookbook_name, "CHANGELOG.md")) open(File.join(dir, cookbook_name, "CHANGELOG.md"), "w") do |file| file.puts <<-EOH -#{cookbook_name} CHANGELOG -#{'=' * "#{cookbook_name} CHANGELOG".length} +# #{cookbook_name} CHANGELOG This file is used to list changes made in each version of the #{cookbook_name} cookbook. -0.1.0 ------ +## 0.1.0 - [your_name] - Initial release of #{cookbook_name} - - - @@ -205,7 +203,7 @@ EOH def create_readme(dir, cookbook_name, readme_format) msg("** Creating README for cookbook: #{cookbook_name}") - unless File.exists?(File.join(dir, cookbook_name, "README.#{readme_format}")) + unless File.exist?(File.join(dir, cookbook_name, "README.#{readme_format}")) open(File.join(dir, cookbook_name, "README.#{readme_format}"), "w") do |file| case readme_format when "rdoc" @@ -273,27 +271,37 @@ Authors: TODO: List authors EOH when "md", "mkd", "txt" file.puts <<-EOH -#{cookbook_name} Cookbook -#{'=' * "#{cookbook_name} Cookbook".length} +# #{cookbook_name} Cookbook + TODO: Enter the cookbook description here. e.g. This cookbook makes your favorite breakfast sandwich. -Requirements ------------- +## Requirements + TODO: List your cookbook requirements. Be sure to include any requirements this cookbook has on platforms, libraries, other cookbooks, packages, operating systems, etc. e.g. -#### packages +### Platforms + +- SandwichOS + +### Chef + +- Chef 12.0 or later + +### Cookbooks + - `toaster` - #{cookbook_name} needs toaster to brown your bagel. -Attributes ----------- +## Attributes + TODO: List your cookbook attributes here. e.g. -#### #{cookbook_name}::default +### #{cookbook_name}::default + <table> <tr> <th>Key</th> @@ -309,9 +317,10 @@ e.g. </tr> </table> -Usage ------ -#### #{cookbook_name}::default +## Usage + +### #{cookbook_name}::default + TODO: Write usage instructions for each cookbook. e.g. @@ -326,8 +335,8 @@ Just include `#{cookbook_name}` in your node's `run_list`: } ``` -Contributing ------------- +## Contributing + TODO: (optional) If this is a public cookbook, detail the process for contributing. If this is a private cookbook, remove this section. e.g. @@ -338,9 +347,10 @@ e.g. 5. Run the tests, ensuring they all pass 6. Submit a Pull Request using Github -License and Authors -------------------- +## License and Authors + Authors: TODO: List authors + EOH else file.puts <<-EOH @@ -415,9 +425,9 @@ EOH "All rights reserved" end - unless File.exists?(File.join(dir, cookbook_name, "metadata.rb")) + unless File.exist?(File.join(dir, cookbook_name, "metadata.rb")) open(File.join(dir, cookbook_name, "metadata.rb"), "w") do |file| - if File.exists?(File.join(dir, cookbook_name, "README.#{readme_format}")) + if File.exist?(File.join(dir, cookbook_name, "README.#{readme_format}")) long_description = "long_description IO.read(File.join(File.dirname(__FILE__), 'README.#{readme_format}'))" end file.puts <<-EOH diff --git a/spec/unit/knife/cookbook_create_spec.rb b/spec/unit/knife/cookbook_create_spec.rb index a183bef103..5e343f3db1 100644 --- a/spec/unit/knife/cookbook_create_spec.rb +++ b/spec/unit/knife/cookbook_create_spec.rb @@ -56,13 +56,13 @@ describe Chef::Knife::CookbookCreate do @dir = Dir.tmpdir @knife.config = { :cookbook_path => @dir, - :cookbook_copyright => "Opscode, Inc", + :cookbook_copyright => "Chef Software, Inc.", } @knife.name_args = ["foobar"] - expect(@knife).to receive(:create_cookbook).with(@dir, @knife.name_args.first, "Opscode, Inc", "none") + expect(@knife).to receive(:create_cookbook).with(@dir, @knife.name_args.first, "Chef Software, Inc.", "none") expect(@knife).to receive(:create_readme).with(@dir, @knife.name_args.first, "md") expect(@knife).to receive(:create_changelog).with(@dir, @knife.name_args.first) - expect(@knife).to receive(:create_metadata).with(@dir, @knife.name_args.first, "Opscode, Inc", "YOUR_EMAIL", "none", "md") + expect(@knife).to receive(:create_metadata).with(@dir, @knife.name_args.first, "Chef Software, Inc.", "YOUR_EMAIL", "none", "md") @knife.run end @@ -70,14 +70,14 @@ describe Chef::Knife::CookbookCreate do @dir = Dir.tmpdir @knife.config = { :cookbook_path => @dir, - :cookbook_copyright => "Opscode, Inc", - :cookbook_email => "nuo@opscode.com", + :cookbook_copyright => "Chef Software, Inc.", + :cookbook_email => "test@chef.io", } @knife.name_args = ["foobar"] - expect(@knife).to receive(:create_cookbook).with(@dir, @knife.name_args.first, "Opscode, Inc", "none") + expect(@knife).to receive(:create_cookbook).with(@dir, @knife.name_args.first, "Chef Software, Inc.", "none") expect(@knife).to receive(:create_readme).with(@dir, @knife.name_args.first, "md") expect(@knife).to receive(:create_changelog).with(@dir, @knife.name_args.first) - expect(@knife).to receive(:create_metadata).with(@dir, @knife.name_args.first, "Opscode, Inc", "nuo@opscode.com", "none", "md") + expect(@knife).to receive(:create_metadata).with(@dir, @knife.name_args.first, "Chef Software, Inc.", "test@chef.io", "none", "md") @knife.run end @@ -85,15 +85,15 @@ describe Chef::Knife::CookbookCreate do @dir = Dir.tmpdir @knife.config = { :cookbook_path => @dir, - :cookbook_copyright => "Opscode, Inc", - :cookbook_email => "nuo@opscode.com", + :cookbook_copyright => "Chef Software, Inc.", + :cookbook_email => "test@chef.io", :cookbook_license => "apachev2", } @knife.name_args = ["foobar"] - expect(@knife).to receive(:create_cookbook).with(@dir, @knife.name_args.first, "Opscode, Inc", "apachev2") + expect(@knife).to receive(:create_cookbook).with(@dir, @knife.name_args.first, "Chef Software, Inc.", "apachev2") expect(@knife).to receive(:create_readme).with(@dir, @knife.name_args.first, "md") expect(@knife).to receive(:create_changelog).with(@dir, @knife.name_args.first) - expect(@knife).to receive(:create_metadata).with(@dir, @knife.name_args.first, "Opscode, Inc", "nuo@opscode.com", "apachev2", "md") + expect(@knife).to receive(:create_metadata).with(@dir, @knife.name_args.first, "Chef Software, Inc.", "test@chef.io", "apachev2", "md") @knife.run end @@ -101,15 +101,15 @@ describe Chef::Knife::CookbookCreate do @dir = Dir.tmpdir @knife.config = { :cookbook_path => @dir, - :cookbook_copyright => "Opscode, Inc", - :cookbook_email => "nuo@opscode.com", + :cookbook_copyright => "Chef Software, Inc.", + :cookbook_email => "test@chef.io", :cookbook_license => false, } @knife.name_args = ["foobar"] - expect(@knife).to receive(:create_cookbook).with(@dir, @knife.name_args.first, "Opscode, Inc", "none") + expect(@knife).to receive(:create_cookbook).with(@dir, @knife.name_args.first, "Chef Software, Inc.", "none") expect(@knife).to receive(:create_readme).with(@dir, @knife.name_args.first, "md") expect(@knife).to receive(:create_changelog).with(@dir, @knife.name_args.first) - expect(@knife).to receive(:create_metadata).with(@dir, @knife.name_args.first, "Opscode, Inc", "nuo@opscode.com", "none", "md") + expect(@knife).to receive(:create_metadata).with(@dir, @knife.name_args.first, "Chef Software, Inc.", "test@chef.io", "none", "md") @knife.run end @@ -117,15 +117,15 @@ describe Chef::Knife::CookbookCreate do @dir = Dir.tmpdir @knife.config = { :cookbook_path => @dir, - :cookbook_copyright => "Opscode, Inc", - :cookbook_email => "nuo@opscode.com", + :cookbook_copyright => "Chef Software, Inc.", + :cookbook_email => "test@chef.io", :cookbook_license => "false", } @knife.name_args = ["foobar"] - expect(@knife).to receive(:create_cookbook).with(@dir, @knife.name_args.first, "Opscode, Inc", "none") + expect(@knife).to receive(:create_cookbook).with(@dir, @knife.name_args.first, "Chef Software, Inc.", "none") expect(@knife).to receive(:create_readme).with(@dir, @knife.name_args.first, "md") expect(@knife).to receive(:create_changelog).with(@dir, @knife.name_args.first) - expect(@knife).to receive(:create_metadata).with(@dir, @knife.name_args.first, "Opscode, Inc", "nuo@opscode.com", "none", "md") + expect(@knife).to receive(:create_metadata).with(@dir, @knife.name_args.first, "Chef Software, Inc.", "test@chef.io", "none", "md") @knife.run end @@ -133,15 +133,15 @@ describe Chef::Knife::CookbookCreate do @dir = Dir.tmpdir @knife.config = { :cookbook_path => @dir, - :cookbook_copyright => "Opscode, Inc", - :cookbook_email => "nuo@opscode.com", + :cookbook_copyright => "Chef Software, Inc.", + :cookbook_email => "test@chef.io", :cookbook_license => "gplv2", } @knife.name_args = ["foobar"] - expect(@knife).to receive(:create_cookbook).with(@dir, @knife.name_args.first, "Opscode, Inc", "gplv2") + expect(@knife).to receive(:create_cookbook).with(@dir, @knife.name_args.first, "Chef Software, Inc.", "gplv2") expect(@knife).to receive(:create_readme).with(@dir, @knife.name_args.first, "md") expect(@knife).to receive(:create_changelog).with(@dir, @knife.name_args.first) - expect(@knife).to receive(:create_metadata).with(@dir, @knife.name_args.first, "Opscode, Inc", "nuo@opscode.com", "gplv2", "md") + expect(@knife).to receive(:create_metadata).with(@dir, @knife.name_args.first, "Chef Software, Inc.", "test@chef.io", "gplv2", "md") @knife.run end @@ -149,15 +149,15 @@ describe Chef::Knife::CookbookCreate do @dir = Dir.tmpdir @knife.config = { :cookbook_path => @dir, - :cookbook_copyright => "Opscode, Inc", - :cookbook_email => "nuo@opscode.com", + :cookbook_copyright => "Chef Software, Inc.", + :cookbook_email => "test@chef.io", :cookbook_license => "gplv3", } @knife.name_args = ["foobar"] - expect(@knife).to receive(:create_cookbook).with(@dir, @knife.name_args.first, "Opscode, Inc", "gplv3") + expect(@knife).to receive(:create_cookbook).with(@dir, @knife.name_args.first, "Chef Software, Inc.", "gplv3") expect(@knife).to receive(:create_readme).with(@dir, @knife.name_args.first, "md") expect(@knife).to receive(:create_changelog).with(@dir, @knife.name_args.first) - expect(@knife).to receive(:create_metadata).with(@dir, @knife.name_args.first, "Opscode, Inc", "nuo@opscode.com", "gplv3", "md") + expect(@knife).to receive(:create_metadata).with(@dir, @knife.name_args.first, "Chef Software, Inc.", "test@chef.io", "gplv3", "md") @knife.run end @@ -165,15 +165,15 @@ describe Chef::Knife::CookbookCreate do @dir = Dir.tmpdir @knife.config = { :cookbook_path => @dir, - :cookbook_copyright => "Opscode, Inc", - :cookbook_email => "nuo@opscode.com", + :cookbook_copyright => "Chef Software, Inc.", + :cookbook_email => "test@chef.io", :cookbook_license => "mit", } @knife.name_args = ["foobar"] - expect(@knife).to receive(:create_cookbook).with(@dir, @knife.name_args.first, "Opscode, Inc", "mit") + expect(@knife).to receive(:create_cookbook).with(@dir, @knife.name_args.first, "Chef Software, Inc.", "mit") expect(@knife).to receive(:create_readme).with(@dir, @knife.name_args.first, "md") expect(@knife).to receive(:create_changelog).with(@dir, @knife.name_args.first) - expect(@knife).to receive(:create_metadata).with(@dir, @knife.name_args.first, "Opscode, Inc", "nuo@opscode.com", "mit", "md") + expect(@knife).to receive(:create_metadata).with(@dir, @knife.name_args.first, "Chef Software, Inc.", "test@chef.io", "mit", "md") @knife.run end @@ -181,33 +181,33 @@ describe Chef::Knife::CookbookCreate do @dir = Dir.tmpdir @knife.config = { :cookbook_path => @dir, - :cookbook_copyright => "Opscode, Inc", - :cookbook_email => "nuo@opscode.com", + :cookbook_copyright => "Chef Software, Inc.", + :cookbook_email => "test@chef.io", :cookbook_license => "mit", :readme_format => "rdoc", } @knife.name_args = ["foobar"] - expect(@knife).to receive(:create_cookbook).with(@dir, @knife.name_args.first, "Opscode, Inc", "mit") + expect(@knife).to receive(:create_cookbook).with(@dir, @knife.name_args.first, "Chef Software, Inc.", "mit") expect(@knife).to receive(:create_readme).with(@dir, @knife.name_args.first, "rdoc") expect(@knife).to receive(:create_changelog).with(@dir, @knife.name_args.first) - expect(@knife).to receive(:create_metadata).with(@dir, @knife.name_args.first, "Opscode, Inc", "nuo@opscode.com", "mit", "rdoc") + expect(@knife).to receive(:create_metadata).with(@dir, @knife.name_args.first, "Chef Software, Inc.", "test@chef.io", "mit", "rdoc") @knife.run end - it "should allow specifying the mkd readme format" do + it "should allow specifying the md readme format" do @dir = Dir.tmpdir @knife.config = { :cookbook_path => @dir, - :cookbook_copyright => "Opscode, Inc", - :cookbook_email => "nuo@opscode.com", + :cookbook_copyright => "Chef Software, Inc.", + :cookbook_email => "test@chef.io", :cookbook_license => "mit", :readme_format => "mkd", } @knife.name_args = ["foobar"] - expect(@knife).to receive(:create_cookbook).with(@dir, @knife.name_args.first, "Opscode, Inc", "mit") + expect(@knife).to receive(:create_cookbook).with(@dir, @knife.name_args.first, "Chef Software, Inc.", "mit") expect(@knife).to receive(:create_readme).with(@dir, @knife.name_args.first, "mkd") expect(@knife).to receive(:create_changelog).with(@dir, @knife.name_args.first) - expect(@knife).to receive(:create_metadata).with(@dir, @knife.name_args.first, "Opscode, Inc", "nuo@opscode.com", "mit", "mkd") + expect(@knife).to receive(:create_metadata).with(@dir, @knife.name_args.first, "Chef Software, Inc.", "test@chef.io", "mit", "mkd") @knife.run end @@ -215,16 +215,16 @@ describe Chef::Knife::CookbookCreate do @dir = Dir.tmpdir @knife.config = { :cookbook_path => @dir, - :cookbook_copyright => "Opscode, Inc", - :cookbook_email => "nuo@opscode.com", + :cookbook_copyright => "Chef Software, Inc.", + :cookbook_email => "test@chef.io", :cookbook_license => "mit", :readme_format => "txt", } @knife.name_args = ["foobar"] - expect(@knife).to receive(:create_cookbook).with(@dir, @knife.name_args.first, "Opscode, Inc", "mit") + expect(@knife).to receive(:create_cookbook).with(@dir, @knife.name_args.first, "Chef Software, Inc.", "mit") expect(@knife).to receive(:create_readme).with(@dir, @knife.name_args.first, "txt") expect(@knife).to receive(:create_changelog).with(@dir, @knife.name_args.first) - expect(@knife).to receive(:create_metadata).with(@dir, @knife.name_args.first, "Opscode, Inc", "nuo@opscode.com", "mit", "txt") + expect(@knife).to receive(:create_metadata).with(@dir, @knife.name_args.first, "Chef Software, Inc.", "test@chef.io", "mit", "txt") @knife.run end @@ -232,16 +232,16 @@ describe Chef::Knife::CookbookCreate do @dir = Dir.tmpdir @knife.config = { :cookbook_path => @dir, - :cookbook_copyright => "Opscode, Inc", - :cookbook_email => "nuo@opscode.com", + :cookbook_copyright => "Chef Software, Inc.", + :cookbook_email => "test@chef.io", :cookbook_license => "mit", :readme_format => "foo", } @knife.name_args = ["foobar"] - expect(@knife).to receive(:create_cookbook).with(@dir, @knife.name_args.first, "Opscode, Inc", "mit") + expect(@knife).to receive(:create_cookbook).with(@dir, @knife.name_args.first, "Chef Software, Inc.", "mit") expect(@knife).to receive(:create_readme).with(@dir, @knife.name_args.first, "foo") expect(@knife).to receive(:create_changelog).with(@dir, @knife.name_args.first) - expect(@knife).to receive(:create_metadata).with(@dir, @knife.name_args.first, "Opscode, Inc", "nuo@opscode.com", "mit", "foo") + expect(@knife).to receive(:create_metadata).with(@dir, @knife.name_args.first, "Chef Software, Inc.", "test@chef.io", "mit", "foo") @knife.run end |