summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLamont Granquist <lamont@scriptkiddie.org>2016-03-31 11:46:37 -0700
committerLamont Granquist <lamont@scriptkiddie.org>2016-03-31 11:46:37 -0700
commit26bded6d81fdacf34bc4704687a0fda54a689d5d (patch)
tree0545b62cedfe7c776791eeb4814102bbad8ae0f1
parent8a39ab08167d37279012d568588e68d151d7a853 (diff)
parent5d66c8a51fe9c2632603fd53a1476343660e5c7f (diff)
downloadchef-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.rb54
-rw-r--r--spec/unit/knife/cookbook_create_spec.rb96
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