berkshelf 5.2.0 → 8.0.15

Sign up to get free protection for your applications and to get access to all the features.
Files changed (216) hide show
  1. checksums.yaml +5 -5
  2. data/Gemfile +19 -47
  3. data/Rakefile +14 -4
  4. data/berkshelf.gemspec +61 -40
  5. data/bin/berks +2 -2
  6. data/lib/berkshelf/api-client.rb +1 -0
  7. data/lib/berkshelf/api_client/chef_server_connection.rb +29 -0
  8. data/lib/berkshelf/api_client/connection.rb +57 -0
  9. data/lib/berkshelf/api_client/errors.rb +10 -0
  10. data/lib/berkshelf/api_client/remote_cookbook.rb +56 -0
  11. data/lib/berkshelf/api_client/version.rb +5 -0
  12. data/lib/berkshelf/api_client.rb +24 -0
  13. data/lib/berkshelf/berksfile.rb +149 -122
  14. data/lib/berkshelf/cached_cookbook.rb +127 -24
  15. data/lib/berkshelf/chef_config_compat.rb +51 -0
  16. data/lib/berkshelf/chef_repo_universe.rb +47 -0
  17. data/lib/berkshelf/cli.rb +143 -174
  18. data/lib/berkshelf/commands/shelf.rb +20 -19
  19. data/lib/berkshelf/community_rest.rb +59 -94
  20. data/lib/berkshelf/config.rb +97 -127
  21. data/lib/berkshelf/cookbook_store.rb +7 -6
  22. data/lib/berkshelf/core_ext/file.rb +1 -1
  23. data/lib/berkshelf/core_ext/file_utils.rb +4 -4
  24. data/lib/berkshelf/core_ext.rb +1 -1
  25. data/lib/berkshelf/dependency.rb +25 -32
  26. data/lib/berkshelf/downloader.rb +66 -39
  27. data/lib/berkshelf/errors.rb +23 -17
  28. data/lib/berkshelf/file_syncer.rb +24 -47
  29. data/lib/berkshelf/formatters/human.rb +7 -5
  30. data/lib/berkshelf/formatters/json.rb +6 -6
  31. data/lib/berkshelf/installer.rb +120 -111
  32. data/lib/berkshelf/location.rb +14 -14
  33. data/lib/berkshelf/locations/base.rb +1 -1
  34. data/lib/berkshelf/locations/git.rb +16 -24
  35. data/lib/berkshelf/locations/github.rb +2 -2
  36. data/lib/berkshelf/locations/path.rb +2 -2
  37. data/lib/berkshelf/lockfile.rb +326 -328
  38. data/lib/berkshelf/logger.rb +64 -1
  39. data/lib/berkshelf/mixin/git.rb +6 -5
  40. data/lib/berkshelf/packager.rb +44 -10
  41. data/lib/berkshelf/resolver/graph.rb +1 -1
  42. data/lib/berkshelf/resolver.rb +4 -4
  43. data/lib/berkshelf/ridley_compat.rb +109 -0
  44. data/lib/berkshelf/shell.rb +2 -1
  45. data/lib/berkshelf/shell_out.rb +18 -0
  46. data/lib/berkshelf/source.rb +77 -33
  47. data/lib/berkshelf/source_uri.rb +4 -4
  48. data/lib/berkshelf/ssl_policies.rb +38 -0
  49. data/lib/berkshelf/thor.rb +1 -1
  50. data/lib/berkshelf/thor_ext/hash_with_indifferent_access.rb +1 -1
  51. data/lib/berkshelf/thor_ext.rb +1 -1
  52. data/lib/berkshelf/uploader.rb +106 -70
  53. data/lib/berkshelf/validator.rb +13 -5
  54. data/lib/berkshelf/version.rb +1 -1
  55. data/lib/berkshelf/visualizer.rb +16 -11
  56. data/lib/berkshelf.rb +106 -81
  57. data/spec/config/knife.rb +4 -4
  58. data/spec/data/trusted_certs/example.crt +22 -0
  59. data/spec/fixtures/Berksfile +3 -3
  60. data/spec/fixtures/complex-cookbook-path/cookbooks/app/metadata.rb +2 -0
  61. data/spec/fixtures/complex-cookbook-path/cookbooks/jenkins/metadata.rb +2 -0
  62. data/spec/fixtures/complex-cookbook-path/cookbooks/jenkins-config/metadata.rb +4 -0
  63. data/spec/fixtures/cookbook-path/jenkins-config/metadata.rb +3 -3
  64. data/spec/fixtures/cookbook-path-uploader/apt-2.3.6/metadata.rb +2 -0
  65. data/spec/fixtures/cookbook-path-uploader/build-essential-1.4.2/metadata.rb +2 -0
  66. data/spec/fixtures/cookbook-path-uploader/jenkins-2.0.3/metadata.rb +5 -0
  67. data/spec/fixtures/cookbook-path-uploader/jenkins-config-0.1.0/metadata.rb +4 -0
  68. data/spec/fixtures/cookbook-path-uploader/runit-1.5.8/metadata.rb +5 -0
  69. data/spec/fixtures/cookbook-path-uploader/yum-3.0.6/metadata.rb +2 -0
  70. data/spec/fixtures/cookbook-path-uploader/yum-epel-0.2.0/metadata.rb +3 -0
  71. data/spec/fixtures/cookbook-store/jenkins-2.0.3/metadata.rb +5 -5
  72. data/spec/fixtures/cookbook-store/jenkins-2.0.4/metadata.rb +4 -4
  73. data/spec/fixtures/cookbooks/example_cookbook/metadata.rb +3 -3
  74. data/spec/fixtures/cookbooks/example_cookbook-0.5.0/metadata.rb +3 -3
  75. data/spec/spec_helper.rb +56 -64
  76. data/spec/support/chef_api.rb +15 -16
  77. data/spec/support/chef_server.rb +71 -69
  78. data/spec/support/git.rb +59 -58
  79. data/spec/support/kitchen.rb +0 -14
  80. data/spec/support/matchers/file_system_matchers.rb +4 -5
  81. data/spec/support/matchers/filepath_matchers.rb +2 -2
  82. data/spec/support/path_helpers.rb +17 -17
  83. data/spec/support/shared_examples/formatter.rb +1 -1
  84. data/spec/tmp/berkshelf/cookbooks/fake-0.1.0/attributes/default.rb +0 -0
  85. data/spec/tmp/berkshelf/cookbooks/fake-0.1.0/files/default/file.h +0 -0
  86. data/spec/tmp/berkshelf/cookbooks/fake-0.1.0/metadata.rb +2 -0
  87. data/spec/tmp/berkshelf/cookbooks/fake-0.1.0/recipes/default.rb +0 -0
  88. data/spec/tmp/berkshelf/cookbooks/fake-0.1.0/templates/default/template.erb +0 -0
  89. data/spec/tmp/berkshelf/cookbooks/fake-0.2.0/attributes/default.rb +0 -0
  90. data/spec/tmp/berkshelf/cookbooks/fake-0.2.0/files/default/file.h +0 -0
  91. data/spec/tmp/berkshelf/cookbooks/fake-0.2.0/metadata.rb +2 -0
  92. data/spec/tmp/berkshelf/cookbooks/fake-0.2.0/recipes/default.rb +0 -0
  93. data/spec/tmp/berkshelf/cookbooks/fake-0.2.0/templates/default/template.erb +0 -0
  94. data/spec/tmp/berkshelf/cookbooks/fake-1.0.0/attributes/default.rb +0 -0
  95. data/spec/tmp/berkshelf/cookbooks/fake-1.0.0/files/default/file.h +0 -0
  96. data/spec/tmp/berkshelf/cookbooks/fake-1.0.0/metadata.rb +2 -0
  97. data/spec/tmp/berkshelf/cookbooks/fake-1.0.0/recipes/default.rb +0 -0
  98. data/spec/tmp/berkshelf/cookbooks/fake-1.0.0/templates/default/template.erb +0 -0
  99. data/spec/unit/berkshelf/berksfile_spec.rb +84 -105
  100. data/spec/unit/berkshelf/berkshelf/api_client/chef_server_connection_spec.rb +65 -0
  101. data/spec/unit/berkshelf/berkshelf/api_client/connection_spec.rb +157 -0
  102. data/spec/unit/berkshelf/berkshelf/api_client/remote_cookbook_spec.rb +23 -0
  103. data/spec/unit/berkshelf/berkshelf/api_client_spec.rb +9 -0
  104. data/spec/unit/berkshelf/cached_cookbook_spec.rb +45 -47
  105. data/spec/unit/berkshelf/chef_repo_universe_spec.rb +37 -0
  106. data/spec/unit/berkshelf/cli_spec.rb +7 -8
  107. data/spec/unit/berkshelf/community_rest_spec.rb +82 -90
  108. data/spec/unit/berkshelf/config_spec.rb +51 -22
  109. data/spec/unit/berkshelf/cookbook_store_spec.rb +41 -41
  110. data/spec/unit/berkshelf/core_ext/file_utils_spec.rb +7 -8
  111. data/spec/unit/berkshelf/core_ext/pathname_spec.rb +1 -1
  112. data/spec/unit/berkshelf/dependency_spec.rb +48 -48
  113. data/spec/unit/berkshelf/downloader_spec.rb +191 -34
  114. data/spec/unit/berkshelf/errors_spec.rb +3 -3
  115. data/spec/unit/berkshelf/file_syncer_spec.rb +87 -87
  116. data/spec/unit/berkshelf/formatters/base_spec.rb +23 -23
  117. data/spec/unit/berkshelf/formatters/human_spec.rb +2 -2
  118. data/spec/unit/berkshelf/formatters/json_spec.rb +2 -2
  119. data/spec/unit/berkshelf/formatters/null_spec.rb +3 -3
  120. data/spec/unit/berkshelf/installer_spec.rb +8 -8
  121. data/spec/unit/berkshelf/location_spec.rb +11 -11
  122. data/spec/unit/berkshelf/locations/base_spec.rb +35 -36
  123. data/spec/unit/berkshelf/locations/git_spec.rb +90 -93
  124. data/spec/unit/berkshelf/locations/path_spec.rb +40 -41
  125. data/spec/unit/berkshelf/lockfile_parser_spec.rb +71 -71
  126. data/spec/unit/berkshelf/lockfile_spec.rb +205 -211
  127. data/spec/unit/berkshelf/logger_spec.rb +3 -3
  128. data/spec/unit/berkshelf/mixin/logging_spec.rb +5 -5
  129. data/spec/unit/berkshelf/packager_spec.rb +2 -2
  130. data/spec/unit/berkshelf/resolver/graph_spec.rb +10 -8
  131. data/spec/unit/berkshelf/resolver_spec.rb +17 -17
  132. data/spec/unit/berkshelf/ridley_compat_spec.rb +16 -0
  133. data/spec/unit/berkshelf/shell_spec.rb +34 -34
  134. data/spec/unit/berkshelf/source_spec.rb +186 -20
  135. data/spec/unit/berkshelf/source_uri_spec.rb +1 -1
  136. data/spec/unit/berkshelf/ssl_policies_spec.rb +86 -0
  137. data/spec/unit/berkshelf/uploader_spec.rb +146 -64
  138. data/spec/unit/berkshelf/validator_spec.rb +23 -16
  139. data/spec/unit/berkshelf/visualizer_spec.rb +24 -15
  140. data/spec/unit/berkshelf_spec.rb +18 -18
  141. metadata +138 -289
  142. data/.gitignore +0 -29
  143. data/.travis.yml +0 -64
  144. data/CHANGELOG.legacy.md +0 -307
  145. data/CHANGELOG.md +0 -1358
  146. data/CONTRIBUTING.md +0 -64
  147. data/Gemfile.lock +0 -399
  148. data/Guardfile +0 -23
  149. data/PLUGINS.md +0 -25
  150. data/README.md +0 -70
  151. data/Thorfile +0 -61
  152. data/appveyor.yml +0 -31
  153. data/docs/berkshelf_for_newcomers.md +0 -65
  154. data/features/berksfile.feature +0 -46
  155. data/features/commands/apply.feature +0 -41
  156. data/features/commands/contingent.feature +0 -48
  157. data/features/commands/cookbook.feature +0 -35
  158. data/features/commands/info.feature +0 -99
  159. data/features/commands/init.feature +0 -27
  160. data/features/commands/install.feature +0 -636
  161. data/features/commands/list.feature +0 -78
  162. data/features/commands/outdated.feature +0 -130
  163. data/features/commands/package.feature +0 -17
  164. data/features/commands/search.feature +0 -17
  165. data/features/commands/shelf/list.feature +0 -32
  166. data/features/commands/shelf/show.feature +0 -143
  167. data/features/commands/shelf/uninstall.feature +0 -96
  168. data/features/commands/show.feature +0 -83
  169. data/features/commands/update.feature +0 -142
  170. data/features/commands/upload.feature +0 -426
  171. data/features/commands/vendor.feature +0 -111
  172. data/features/commands/verify.feature +0 -29
  173. data/features/commands/viz.feature +0 -66
  174. data/features/community_site.feature +0 -37
  175. data/features/config.feature +0 -111
  176. data/features/help.feature +0 -11
  177. data/features/json_formatter.feature +0 -161
  178. data/features/lifecycle.feature +0 -378
  179. data/features/lockfile.feature +0 -378
  180. data/features/step_definitions/berksfile_steps.rb +0 -39
  181. data/features/step_definitions/chef/config_steps.rb +0 -12
  182. data/features/step_definitions/chef_server_steps.rb +0 -60
  183. data/features/step_definitions/cli_steps.rb +0 -18
  184. data/features/step_definitions/config_steps.rb +0 -46
  185. data/features/step_definitions/environment_steps.rb +0 -7
  186. data/features/step_definitions/filesystem_steps.rb +0 -269
  187. data/features/step_definitions/gem_steps.rb +0 -13
  188. data/features/step_definitions/json_steps.rb +0 -23
  189. data/features/step_definitions/utility_steps.rb +0 -11
  190. data/features/support/aruba.rb +0 -12
  191. data/features/support/env.rb +0 -82
  192. data/generator_files/Berksfile.erb +0 -11
  193. data/generator_files/CHANGELOG.md.erb +0 -3
  194. data/generator_files/Gemfile.erb +0 -8
  195. data/generator_files/README.md.erb +0 -42
  196. data/generator_files/Thorfile.erb +0 -11
  197. data/generator_files/Vagrantfile.erb +0 -117
  198. data/generator_files/chefignore +0 -94
  199. data/generator_files/default_recipe.erb +0 -6
  200. data/generator_files/default_test.rb.erb +0 -11
  201. data/generator_files/gitignore.erb +0 -23
  202. data/generator_files/helpers.rb.erb +0 -7
  203. data/generator_files/licenses/apachev2.erb +0 -13
  204. data/generator_files/licenses/gplv2.erb +0 -15
  205. data/generator_files/licenses/gplv3.erb +0 -14
  206. data/generator_files/licenses/mit.erb +0 -20
  207. data/generator_files/licenses/reserved.erb +0 -3
  208. data/generator_files/metadata.rb.erb +0 -11
  209. data/lib/berkshelf/base_generator.rb +0 -43
  210. data/lib/berkshelf/commands/test_command.rb +0 -13
  211. data/lib/berkshelf/cookbook_generator.rb +0 -133
  212. data/lib/berkshelf/init_generator.rb +0 -195
  213. data/spec/fixtures/cookbooks/example_cookbook/.gitignore +0 -2
  214. data/spec/fixtures/cookbooks/example_cookbook/.kitchen.yml +0 -26
  215. data/spec/unit/berkshelf/cookbook_generator_spec.rb +0 -110
  216. data/spec/unit/berkshelf/init_generator_spec.rb +0 -263
data/.gitignore DELETED
@@ -1,29 +0,0 @@
1
- *.gem
2
- *.rbc
3
- .bundle
4
- .config
5
- .rvmrc
6
- .yardoc
7
- _yardoc
8
- /coverage
9
- /doc/
10
- /pkg
11
- /spec/reports
12
- /Berksfile*
13
- tmp
14
- *~
15
- *.tar*
16
- \#*
17
- .DS_Store
18
- /spec/knife.rb
19
- /spec/*.pem
20
- /features/config.yml
21
- *.sw[op]
22
- \.\#*
23
- rerun.txt
24
- .rspec
25
- .kitchen
26
- vendor/ruby
27
- .ruby-version
28
- bin
29
- !bin/berks
data/.travis.yml DELETED
@@ -1,64 +0,0 @@
1
- addons:
2
- apt:
3
- packages:
4
- - chef
5
- - git
6
- - graphviz
7
- - libarchive-dev
8
- # - libgecode-dev
9
- sources:
10
- - chef-stable-trusty
11
- cache:
12
- - apt
13
- - bundler
14
- dist: trusty
15
- #env:
16
- # global: USE_SYSTEM_GECODE=1
17
- language: ruby
18
- notifications:
19
- irc:
20
- channels:
21
- - "irc.freenode.org#berkshelf"
22
- skip_join: true
23
- use_notice: true
24
- webhooks:
25
- urls:
26
- - "https://webhooks.gitter.im/e/cdd41ff6c4d1f062c2f1"
27
- branches:
28
- only:
29
- - master
30
- #bundler_args: --without guard changelog --jobs 7
31
- before_install:
32
- - gem update --system
33
- - gem install bundler
34
- install: travis_wait bundle install --without guard changelog --jobs 7 --retry=3
35
- before_script:
36
- - echo "StrictHostKeyChecking no" > ~/.ssh/config
37
- - git config --global user.email "ci@berkshelf.com"
38
- - git config --global user.name "Berkshelf"
39
- matrix:
40
- include:
41
- - rvm: 2.2.5
42
- - rvm: 2.3.1
43
- - rvm: ruby-head
44
- # - rvm: 2.2.5
45
- # before_install:
46
- # # Failures in the berkshelf-api gemspec were happening with bundler 1.8
47
- # - gem install bundler --version=1.10.6
48
- # # Needed until https://github.com/travis-ci/apt-package-whitelist/pull/1820 is merged
49
- # - sudo apt-get update
50
- # - sudo apt-get -y install squid3
51
- # sudo: required
52
- # env:
53
- # - PROXY_TESTS_DIR=/tmp/proxy_tests
54
- # - PROXY_TESTS_REPO=$PROXY_TESTS_DIR/repo
55
- # - rvmsudo_secure_path=1
56
- # script:
57
- # - git clone https://github.com/chef/proxy_tests.git
58
- # - cd proxy_tests && chef-client -z -o proxy_tests::render && cd ..
59
- # - rvmsudo -E bundle exec bash $PROXY_TESTS_DIR/run_tests.sh berkshelf \* \* /tmp/out.txt
60
- # after_script: cat /tmp/out.txt
61
- allow_failures:
62
- - rvm: ruby-head
63
-
64
- script: bundle exec thor spec:ci
data/CHANGELOG.legacy.md DELETED
@@ -1,307 +0,0 @@
1
- > This is a high level digest of changes. For the complete CHANGELOG diff two tags in the project's [commit history](https://github.com/berkshelf/berkshelf/commits/master).
2
-
3
- # 4.1.0
4
-
5
- * Enhancements
6
- * Have berks install bump only required cookbooks
7
- * Upgrade to solve 2.0 and use Gecode as the engine
8
- * Add a new `solver` Berksfile DSL option
9
- * remove berkshelf gem entry in generated Gemfile
10
- * Run Chef proxy tests on Travis
11
- * Updating Test Kitchen to 1.5.0 and running bundle update
12
-
13
- * Bug Fixes
14
- * Use Net::HTTP.new instead of Net::HTTP.start to ensure environmental proxy settings are picked up
15
- * Remove new cucumber and aruba warnings
16
- * Pin aruba to 0.10.2
17
-
18
- # 4.0.1
19
-
20
- * Update `berkshelf-api-client` constraint to `~> 2.0`
21
-
22
- # 4.0.0
23
-
24
- * Drop support for Ruby 1.9
25
- * Switch from `net_http_client` to `httpclient` Faraday adapter for all HTTP communication
26
-
27
- # 3.3.0
28
-
29
- * Enhancements
30
- * Use [httpclient](https://github.com/nahi/httpclient) in place of Ruby stdlib NetHTTP for http communication
31
- * Clarify decompression error messages
32
-
33
- # 3.2.4
34
-
35
- * Bug Fixes
36
- * Fix issue where older version of a cookbook would be presented as the latest available version from a remote API server's cache
37
- * Exclude git directories when vendoring
38
- * Fix a race condition in downloading cookbooks from Github or a URI location
39
-
40
- # 3.2.3
41
-
42
- * Bug Fixes
43
- * Specifying the --skip-syntax-check flag to upload will once again cause validations to be skipped
44
-
45
- # 3.2.2
46
-
47
- * Enhancements
48
- * Use chef.io hostname in urls instead of getchef
49
-
50
- * Bug Fixes
51
- * Fix syntax issue in generated Vagrantfile
52
- * Only exclude the top level metadata.rb file when vendoring cookbooks rather than all files named metadata.rb
53
- * Relative paths can now be passed to berks vendor
54
-
55
- # 3.2.1
56
-
57
- * Bug Fixes
58
- * Fix issue with copying raw metadata when vendoring / packaging.
59
- * Berkshelf should cleanup any temporary directories it creates. There is still work to be done in any of Berkshelf's dependencies.
60
-
61
- # 3.2.0
62
-
63
- * Improvements
64
- * Add version information to edges of generated visualization graph
65
- * Bump to latest full release of Celluloid
66
- * Updated some errors to include more information about what went wrong / how to make it better
67
- * Lockfiles will be named after the name of the Berksfile, not always Berksfile.lock
68
- * Vendoring will now sync files between two directories instead of deleting the target and it's contents
69
- * Add support for downloading from Berkshelf-API file_store location
70
- * Add `berks verify` command to validate Ruby syntax, ERB templates, and file names of cookbooks
71
-
72
- * Bug Fixes
73
- * Fixed a number of typos and documentation errors
74
- * Fix running `berks viz` when pwd has spaces in it
75
- * Fix checking for graphviz on Windows
76
- * Remove PaxHeader files before uploading
77
- * BERKSHELF_PATH will always be fully expanded regardless of how it is configured
78
-
79
- * Deprecations
80
- * vagrant.omnibus.enabled configuration option is now deprecated
81
-
82
- # 3.1.5
83
-
84
- * Bug Fixes
85
- * Supermarket endpoint is now an alias for Opscode endpoint
86
- * Set proper default value for supermarket api endpoint
87
-
88
- # 3.1.4
89
-
90
- * Improvements
91
- * Update the default vagrant box from the generators to Ubuntu 14.04 (formerly 12.04 EOL)
92
-
93
- * Bug Fixes
94
- * Handle the case where a remote source had been removed but still existed in the lockfile
95
- * Follow redirects (HTTP -> HTTPS) in all requests
96
-
97
- # 3.1.3
98
-
99
- * Enhancements
100
- * Updated out of date dependencies
101
-
102
- * Bug Fixes
103
- * Skip loading of cached cookbooks that do not have a value for metadata
104
- * SSL Verify option will be respected when communicating to an API server
105
- * Fixed issue where some commands were unexpectedly crashing instead of informing the user that Git is not installed
106
-
107
- # 3.1.2
108
-
109
- * Enhancements
110
- * SCM history is now stripped from cookbooks retrieved from an SCM location which will conserve disk space for cookbooks with a large history
111
- * Bug Fixes
112
- * Fix formatting issue with console output on some systems
113
- * Handle crash on install on some machines which do not properly report their number of CPU cores
114
- * Fix infinite loop in checking if the lockfile is synced under certain conditions
115
- * Fix console output crash on Windows
116
- * Fix issue where updating a cookbook would result in a non resolvable lockfile
117
- * Various spelling mistakes in console output
118
-
119
- # 3.1.1
120
-
121
- * Bug Fixes
122
- * Fix issue reading metadata which was compiled using an older (bugged) version of Knife
123
- * Fix issue with incorrectly reporting outdated cookbooks with the outdated command
124
- * Fix issue uploading some cookbooks which were generated with older metadata
125
-
126
- # 3.1.0
127
-
128
- * Enhancements
129
- * Added `berks viz` command which will output a visualized dependency graph
130
- * Added `berks info` command which outputs what `berks show` used to output
131
- * Changed `berks show` command to output the filepath where the cookbook is found
132
- * Improve error output when a solution couldn't be found
133
-
134
- * Bug Fixes
135
- * Various documentation updates
136
- * Update description of version command
137
-
138
- # 3.0.1
139
-
140
- * Bug Fixes
141
- * Installation will no longer fail on machines with just 1 or 2 cores
142
-
143
- # 3.0.0
144
-
145
- * Enhancements
146
- * New "universe" resolver which communicates with an API server to resolve constraint graphs faster and more reliably
147
- * `berks vendor` will now compile cookbook metadata into the cookbook's vendored directory. The raw metadata will not be included in the vendored cookbook to ensure that Chef Client doesn't (wrongly) prioritize the raw metadata over compiled metadata
148
- * `berks vendor` now includes the Berksfile.lock alongside the vendored contents
149
- * `berks package` will now simply archive the output of `berks vendor`
150
-
151
- * Bug Fixes
152
- * Raw metadata will be compiled into metadata.json during vendor process
153
-
154
- * Backwards incompatible changes
155
- * `berks package` has had it's argument and options list updated. The first argument is now the name, or fulle path, of the archive file that will be generated. As with before, the first argument is not required.
156
-
157
- # 2.0.16
158
-
159
- * Update constraint on Ridley
160
-
161
- # 2.0.14
162
-
163
- * Backport changes from master to allow detecting cookbooks by metadata.json
164
-
165
- # 2.0.13
166
-
167
- * Lock transitive dependency on Faraday
168
-
169
- # 2.0.10
170
-
171
- * Huge performance increase when resolving a Berksfile when the Berkshelf contains a lot of cookbooks
172
-
173
- # 2.0.9
174
-
175
- * Update required version of Ridley
176
-
177
- # 2.0.8
178
-
179
- * Account for API changes to solve
180
- * Rescue exceptions when parsing the lockfile
181
- * Fix deprecation errors
182
-
183
- # 2.0.7
184
-
185
- * Fix crash when parsing a lockfile that contains path locations which no longer exist
186
-
187
- # 2.0.6
188
-
189
- * Fix installation failures due to latest release of ActiveSupport
190
- * --except and --only will now work with a lockfile present
191
-
192
- # 2.0.5
193
-
194
- * Improve speed of resolution when a lockfile is present
195
- * Gracefully fail when a lockfile is present but empty
196
- * Fix issue where locked version was not honored if the cookbook store was empty
197
-
198
- # 2.0.4
199
-
200
- * Fix bug where community cookbooks compressed with bzip2 would not download and install
201
- * Fix bug regression in Git caching which was previously fixed in 1.4.4
202
- * Fix validation bug where a cookbook would be considered invalid if any spaces were present in the path to the directory containing the cookbook
203
- * Fix issues with uploading cookbooks on Windows
204
-
205
- # 2.0.3
206
-
207
- * Fix issue where groups defined in the Berksfile would not be evaluated
208
-
209
- # 2.0.2
210
-
211
- * Fix issue with shellout on Windows. This would effect uploads and downloads of cookbooks using the Git location.
212
- * The Berksfile DSL now evaluates in a clean room to prevent end-users from calling restricted methods.
213
- * Fix issue with `berks upload -D` not properly skipping dependencies
214
- * Added friendly error message when an unknown license is chosen during cookbook generation
215
-
216
- # 2.0.1
217
-
218
- * Improve performance of `berks upload`. It will now properly respect the Lockfile
219
- * Fix debug/verbose logging
220
- * You can now specify an alternate configuration with -c once again
221
-
222
- # 2.0.0
223
-
224
- * Huge improvements to the Lockfile
225
- - They actually work!
226
- - Now in JSON format
227
- - Old lockfiles will automatically be converted to the new format
228
- * Add `berks shelf` command. Any operations on the already installed cookbooks now reside here
229
- - `berks shelf list` to list all cookbooks in the Berkshelf
230
- - `berks shelf show` to display information about a specific cookbook in the Berkshelf
231
- - `berks shelf uninstall` to remove an installed cookbook from the Berkshelf
232
- * Add `berks package` command. Will package any cookbooks and dependencies defined in your Berksfile into a tar.
233
- * Add `berks apply` command. Take the locked constraints of your lockfile and apply them directly to the an environment's locked cookbook versions.
234
- * Test-Kitchen integration (beta)
235
- - Add `berks test` command. This is a delegator to `bin/kitchen`
236
- - Berkshelf's Cookbook generators will by default generate Test-Kitchen files for you
237
- * Remove `berks open` command
238
- * Rename `berks info` command to `berks show`
239
-
240
- # 1.4.4
241
-
242
- - Bump Ridley dependency to 0.12, bringing in many bugfixes.
243
-
244
- # 1.4.3
245
-
246
- - Bump Ridley dependency to 0.11, bringing in many bugfixes.
247
-
248
- # 1.4.2
249
-
250
- - Fix git caching bug for huge speedups in Berksfiles with lots of git
251
- paths. Thanks to @tylerflint and @jasondunsmore.
252
-
253
- # 1.4.1
254
-
255
- - Berksfile#upload will now honor the given server_url option
256
- - Add validation to shortnames of 'site' in Berksfile
257
- - Fix init generator issue by locking to the appropriate version of Rubygems
258
-
259
- # 1.4.0
260
-
261
- - Add ability to freeze cookbooks. Cookbooks are frozen on upload by default
262
- - Add ability to forcefully upload cookbooks even if they are frozen with the `--force` option
263
- - Add `berks info` command for displaying information about cookbooks in your Berkshelf
264
- - Add `berks contingent` command for displaying a list of cookbooks which are dependent upon one another
265
- - Cookbook generator now has the option of generating chef minispec files (false by default)
266
- - Fix bug in downloading cookbooks which were packaged as plain tars instead of tar.gzs
267
- - Path locations will now be relative to the Berksfile they are defined in
268
-
269
- # 1.3.1
270
- - Support for Vagrant 1.1.x
271
- - Move Berkshelf Vagrant plugin into it's [own repository](https://github.com/berkshelf/vagrant-berkshelf)
272
- - Added -d flag to output debug information in berks command
273
- - Various bug fixes in uploading cookbooks
274
-
275
- # 1.2.0
276
- - Remove Vagrant as a gem dependency
277
- - Remove Chef as a gem dependency
278
- - Add retries to downloads/uploads
279
- - Speed optimizations to resolver
280
- - Speed optimizations to downloading cookbooks
281
- - Speed optimizations to uploading cookbooks
282
-
283
- # 1.1.0
284
- ## new/improved commands
285
- - `berks show` command: display the file path for the given cookbook's current version resolved by your Berksfile
286
- - `berks list` command: list all of the cookbooks and their versions that are installed by resolving your Berksfile
287
- - `berks outdated` command (beta): show any cookbooks which have newer versions that are installed by resolving your Berksfile
288
- - `berks open` command [alpha]: like `berks show` except used to open the cookbook in your configured editor
289
- alpha: use at your own risk
290
- - improved `berks upload` command: now takes an optional cookbook name, or names, which will upload the target cookbook(s) to the Chef Server
291
- - improved `berks update` command: now takes an optional cookbook name, or names, which will update the target cookbook(s) in the Berksfile.lock
292
-
293
- ## bug fixes
294
- - Improved error output in Vagrant plugin
295
- - Stack traces will now be replaced by friendly error messages where possible
296
- - Fix init generator on Ruby 1.9.2
297
- - Honor 'chefignore' when vendoring cookbooks this will ensure that you aren't putting junk files into your cookbooks if your distributing them for use with Chef-Solo
298
-
299
- # 1.0.0
300
- - Windows support
301
- - Easier installation by dropping Gecode requirement
302
- - Vagrant plugin for a seamless iteration process
303
- - Berkshelf has it's own configuration file
304
- - `berks configure` command
305
- - Github source location
306
- - Improved upload/download speed of cookbooks
307
- - Lots of bug fixes