berkshelf-api 1.2.0.rc1 → 1.2.0.rc2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 34d85c7aab58658330e2d602a0e14b90f5fae361
4
- data.tar.gz: 086aaca8e72f22a5929b0c387f7bcd764649f4f5
3
+ metadata.gz: 35fe7a7e1966af33f082d0c1ae1e1732e5891aab
4
+ data.tar.gz: 6404341b2e51593475c2cf156d9923986aa7f090
5
5
  SHA512:
6
- metadata.gz: b33d96269b99e1b66364a04c1f3b552c08060b04468a9936386acc169ffc4dd855668e810549c9426154739a9c9a85fa0c4e805ecad7d18def382d2e79ab35d2
7
- data.tar.gz: 7b4a98ea88197847dd83f710e558df8446d2c11fe01954517faf8051ac311891627452a84174467b297370a69248f9eb2bfafef741997712a2437d902824b03a
6
+ metadata.gz: 046e40ccf541a7c7c1f425bfd4aa09af5341d812e2540e18a50079c562a0c1840f4968756ac9f6dcaa6baa735dc2574f9734398eac4d71d923d44f5bbd547c26
7
+ data.tar.gz: b0779aaa43078a5231f780231a40cf312f274bd390c0857a3429ff121cbf48813a78c8f3cf3ccc6e482dfe82eed058f9dcc0b51660afc8421f1cf6354cb3ee25
data/CHANGELOG.md CHANGED
@@ -1,10 +1,10 @@
1
- # master
1
+ # 1.2.0
2
2
 
3
3
  * Enhancements
4
- *
4
+ * Loosen constraints and bump versions of various gems
5
5
 
6
6
  * Bug Fixes
7
- *
7
+ * Fix issue with default configuration where home path was not being set
8
8
 
9
9
  # 1.1.1
10
10
 
data/Gemfile CHANGED
@@ -4,14 +4,13 @@ gemspec
4
4
 
5
5
  group :development do
6
6
  gem 'coolline'
7
- gem 'fuubar'
7
+ gem 'fuubar', '~> 1.1'
8
8
  gem 'redcarpet', platforms: :ruby
9
9
  gem 'yard'
10
10
 
11
- gem 'guard'
11
+ gem 'guard', '~> 1.8'
12
12
  gem 'guard-rspec'
13
13
  gem 'guard-spork', platforms: :ruby
14
- gem 'guard-yard'
15
14
 
16
15
  require 'rbconfig'
17
16
 
@@ -34,6 +33,6 @@ end
34
33
 
35
34
  group :development, :test do
36
35
  gem 'rack-test'
37
- gem 'rspec'
38
- gem 'spork'
36
+ gem 'rspec', '~> 2.13'
37
+ gem 'spork', '~> 0.9'
39
38
  end
data/Guardfile CHANGED
@@ -6,12 +6,6 @@ guard 'spork' do
6
6
  watch(%r{^spec/support/.+\.rb$}) { :rspec }
7
7
  end
8
8
 
9
- guard 'yard', stdout: '/dev/null', stderr: '/dev/null' do
10
- watch(%r{app/.+\.rb})
11
- watch(%r{lib/.+\.rb})
12
- watch(%r{ext/.+\.c})
13
- end
14
-
15
9
  guard 'rspec', cli: "--color --drb --format Fuubar", all_on_start: false, all_after_pass: false do
16
10
  watch(%r{^spec/unit/.+_spec\.rb$})
17
11
 
data/Thorfile CHANGED
@@ -1,39 +1,94 @@
1
1
  # encoding: utf-8
2
2
  $:.push File.expand_path("../lib", __FILE__)
3
+ $:.push File.expand_path("../tasks", __FILE__)
3
4
 
4
5
  require 'bundler'
5
6
  require 'bundler/setup'
6
7
  require 'thor'
7
8
  require 'berkshelf-api'
9
+ require 'build_gem'
10
+ require 'octokit'
8
11
 
9
12
  class Default < Thor
10
- require 'thor/rake_compat'
13
+ include Thor::Actions
14
+ namespace "build"
15
+ default_task :all
11
16
 
12
- include Thor::RakeCompat
13
- Bundler::GemHelper.install_tasks
17
+ GITHUB_ORG_REGEX = /(git\@github.com\:|https\:\/\/github.com\/)(.+).git/.freeze
18
+ PKG_DIR = File.expand_path("../pkg", __FILE__).freeze
19
+ VENDOR_DIR = File.expand_path("../vendor", __FILE__).freeze
20
+ PROJECT_DIR = File.dirname(__FILE__)
14
21
 
15
- desc "build", "Build berkshelf-api-#{Berkshelf::API::VERSION}.gem into the pkg directory"
16
- def build
17
- Rake::Task["build"].execute
22
+ desc "all", "clean, package, and release to Github"
23
+ def all
24
+ clean
25
+ package
26
+ release
18
27
  end
19
28
 
20
- desc "install", "Build and install berkshelf-api-#{Berkshelf::API::VERSION}.gem into system gems"
21
- def install
22
- Rake::Task["install"].execute
29
+ desc "clean", "clean the packaging directory"
30
+ def clean
31
+ say "cleaning..."
32
+ [ PKG_DIR, VENDOR_DIR ].each do |dir|
33
+ FileUtils.rm_rf(dir)
34
+ FileUtils.mkdir_p(dir)
35
+ end
23
36
  end
24
37
 
25
- desc "release", "Create tag v#{Berkshelf::API::VERSION} and build and push berkshelf-api-#{Berkshelf::API::VERSION}.gem to Rubygems"
26
- def release
27
- Rake::Task["release"].execute
38
+ desc "package", "package the software for release"
39
+ def package
40
+ say "packaging..."
41
+ empty_directory PKG_DIR
42
+ invoke "gem:build"
43
+ inside(File.dirname(__FILE__)) do
44
+ run "bundle package --all"
45
+ files = `git ls-files | grep -v spec`.split("\n")
46
+ run("tar -czf #{archive_out} #{files.join(' ')} vendor")
47
+ end
28
48
  end
29
49
 
30
- class Spec < Thor
31
- namespace :spec
32
- default_task :all
50
+ method_option :github_token,
51
+ type: :string,
52
+ default: ENV["GITHUB_TOKEN"],
53
+ required: true,
54
+ aliases: "-t",
55
+ banner: "TOKEN"
56
+ desc "release", "release the packaged software to Github"
57
+ def release
58
+ say "releasing..."
59
+ invoke "gem:release"
33
60
 
34
- desc "all", "run all tests"
35
- def all
36
- exec "rspec --color --format=documentation spec"
61
+ begin
62
+ release = github_client.create_release(repository, version)
63
+ rescue Octokit::UnprocessableEntity
64
+ release = github_client.releases(repository).find { |release| release[:tag_name] == version }
37
65
  end
66
+
67
+ say "Uploading #{File.basename(archive_out)} to Github..."
68
+ github_client.upload_asset(release[:url], archive_out, name: "berkshelf-api.tar.gz",
69
+ content_type: "application/x-tar")
38
70
  end
71
+
72
+ private
73
+
74
+ def archive_out
75
+ File.join(PKG_DIR, "berkshelf-api-#{version}.tar.gz")
76
+ end
77
+
78
+ def github_client
79
+ @github_client ||= Octokit::Client.new(access_token: options[:github_token])
80
+ end
81
+
82
+ def repository
83
+ @repository ||= extract_repository
84
+ end
85
+
86
+ def extract_repository
87
+ _, repository = `git remote show origin | grep Push`.scan(GITHUB_ORG_REGEX).first
88
+ repository
89
+ end
90
+
91
+ def version
92
+ @version ||= `git describe`.chomp
93
+ end
39
94
  end
@@ -19,20 +19,22 @@ Gem::Specification.new do |spec|
19
19
  spec.require_paths = ["lib"]
20
20
  spec.required_ruby_version = ">= 1.9.3"
21
21
 
22
- spec.add_dependency 'ridley', '~> 3.0.0.rc1'
23
- spec.add_dependency 'celluloid', '~> 0.15'
24
- spec.add_dependency 'reel', '>= 0.4.0'
25
- spec.add_dependency 'grape', '~> 0.6'
26
- spec.add_dependency 'grape-msgpack', '~> 0.1'
27
- spec.add_dependency 'hashie', '>= 2.0.4'
28
- spec.add_dependency 'faraday', '~> 0.9.0'
29
- spec.add_dependency 'retryable', '~> 1.3.3'
30
- spec.add_dependency 'archive', '= 0.0.5'
31
- spec.add_dependency 'buff-config', '~> 0.1'
32
- spec.add_dependency 'octokit', '~> 2.6'
33
- spec.add_dependency 'solve'
22
+ spec.add_dependency 'ridley', '~> 3.0'
23
+ spec.add_dependency 'celluloid', '~> 0.16.0.pre'
24
+ spec.add_dependency 'reel', '>= 0.4.0'
25
+ spec.add_dependency 'http', '~> 0.5.0' # explicitly lock because reel's is too lax
26
+ spec.add_dependency 'grape', '~> 0.6'
27
+ spec.add_dependency 'grape-msgpack', '~> 0.1'
28
+ spec.add_dependency 'hashie', '>= 2.0.4'
29
+ spec.add_dependency 'faraday', '~> 0.9.0'
30
+ spec.add_dependency 'retryable', '~> 1.3.3'
31
+ spec.add_dependency 'archive', '= 0.0.6'
32
+ spec.add_dependency 'buff-config', '~> 0.1'
33
+ spec.add_dependency 'octokit', '~> 2.6'
34
+ spec.add_dependency 'semverse', '~> 1.0'
34
35
 
35
- spec.add_development_dependency 'bundler', '~> 1.3'
36
- spec.add_development_dependency 'thor', '~> 0.18.0'
36
+ spec.add_development_dependency 'bundler', '~> 1.3'
37
+ spec.add_development_dependency 'thor', '~> 0.18'
37
38
  spec.add_development_dependency 'chef-zero', '~> 1.5'
39
+ spec.add_development_dependency "octokit", '~> 2.6'
38
40
  end
@@ -1,5 +1,5 @@
1
1
  require 'octokit'
2
- require 'solve'
2
+ require 'semverse'
3
3
  require 'net/http'
4
4
 
5
5
  module Berkshelf::API
@@ -46,7 +46,7 @@ module Berkshelf::API
46
46
  log.warn "Version found in metadata for #{repo.name} (#{tag.name}) does not " +
47
47
  "match the tag. Got #{cookbook_metadata.version}."
48
48
  end
49
- rescue Solve::Errors::InvalidVersionFormat
49
+ rescue Semverse::InvalidVersionFormat
50
50
  log.debug "Ignoring tag #{tag.name} for: #{repo.name}. Does not conform to semver."
51
51
  rescue Octokit::NotFound
52
52
  log.debug "Ignoring tag #{tag.name} for: #{repo.name}. No raw metadata found."
@@ -1,5 +1,5 @@
1
1
  module Berkshelf
2
2
  module API
3
- VERSION = "1.2.0.rc1"
3
+ VERSION = "1.2.0.rc2"
4
4
  end
5
5
  end
@@ -1,73 +1,75 @@
1
1
  require 'chef_zero/server'
2
2
 
3
- module Berkshelf::RSpec
4
- module ChefServer
5
- class << self
6
- def clear_request_log
7
- @request_log = Array.new
8
- end
3
+ module Berkshelf
4
+ module RSpec
5
+ module ChefServer
6
+ class << self
7
+ def clear_request_log
8
+ @request_log = Array.new
9
+ end
9
10
 
10
- def request_log
11
- @request_log ||= Array.new
12
- end
11
+ def request_log
12
+ @request_log ||= Array.new
13
+ end
13
14
 
14
- def server
15
- @server ||= ChefZero::Server.new(port: PORT, generate_real_keys: false)
16
- end
15
+ def server
16
+ @server ||= ChefZero::Server.new(port: PORT, generate_real_keys: false)
17
+ end
17
18
 
18
- def server_url
19
- (@server && @server.url) || "http://localhost/#{PORT}"
20
- end
19
+ def server_url
20
+ (@server && @server.url) || "http://localhost/#{PORT}"
21
+ end
22
+
23
+ def start
24
+ server.start_background
25
+ server.on_response do |request, response|
26
+ request_log << [ request, response ]
27
+ end
28
+ clear_request_log
21
29
 
22
- def start
23
- server.start_background
24
- server.on_response do |request, response|
25
- request_log << [ request, response ]
30
+ server
26
31
  end
27
- clear_request_log
28
32
 
29
- server
30
- end
33
+ def stop
34
+ @server.stop if @server
35
+ end
31
36
 
32
- def stop
33
- @server.stop if @server
37
+ def running?
38
+ @server && @server.running?
39
+ end
34
40
  end
35
41
 
36
- def running?
37
- @server && @server.running?
42
+ PORT = 8889
43
+
44
+ def chef_client(name, hash = Hash.new)
45
+ load_data(:clients, name, hash)
38
46
  end
39
- end
40
47
 
41
- PORT = 8889
48
+ def chef_cookbook(name, version, cookbook = Hash.new)
49
+ ChefServer.server.load_data("cookbooks" => { "#{name}-#{version}" => cookbook })
50
+ end
42
51
 
43
- def chef_client(name, hash = Hash.new)
44
- load_data(:clients, name, hash)
45
- end
52
+ def chef_data_bag(name, hash = Hash.new)
53
+ ChefServer.server.load_data({ 'data' => { name => hash }})
54
+ end
46
55
 
47
- def chef_cookbook(name, version, cookbook = Hash.new)
48
- ChefServer.server.load_data("cookbooks" => { "#{name}-#{version}" => cookbook })
49
- end
56
+ def chef_environment(name, hash = Hash.new)
57
+ load_data(:environments, name, hash)
58
+ end
50
59
 
51
- def chef_data_bag(name, hash = Hash.new)
52
- ChefServer.server.load_data({ 'data' => { name => hash }})
53
- end
60
+ def chef_node(name, hash = Hash.new)
61
+ load_data(:nodes, name, hash)
62
+ end
54
63
 
55
- def chef_environment(name, hash = Hash.new)
56
- load_data(:environments, name, hash)
57
- end
64
+ def chef_role(name, hash = Hash.new)
65
+ load_data(:roles, name, hash)
66
+ end
58
67
 
59
- def chef_node(name, hash = Hash.new)
60
- load_data(:nodes, name, hash)
61
- end
68
+ private
62
69
 
63
- def chef_role(name, hash = Hash.new)
64
- load_data(:roles, name, hash)
70
+ def load_data(key, name, hash)
71
+ ChefServer.server.load_data(key.to_s => { name => JSON.fast_generate(hash) })
72
+ end
65
73
  end
66
-
67
- private
68
-
69
- def load_data(key, name, hash)
70
- ChefServer.server.load_data(key.to_s => { name => JSON.fast_generate(hash) })
71
- end
72
74
  end
73
75
  end
@@ -0,0 +1,34 @@
1
+ require 'thor'
2
+
3
+ class BuildGem < Thor
4
+ require 'thor/rake_compat'
5
+ namespace "gem"
6
+
7
+ include Thor::RakeCompat
8
+ Bundler::GemHelper.install_tasks
9
+
10
+ desc "build", "Build berkshelf-api-#{Berkshelf::API::VERSION}.gem into the pkg directory"
11
+ def build
12
+ Rake::Task["build"].execute
13
+ end
14
+
15
+ desc "install", "Build and install berkshelf-api-#{Berkshelf::API::VERSION}.gem into system gems"
16
+ def install
17
+ Rake::Task["install"].execute
18
+ end
19
+
20
+ desc "release", "Create tag v#{Berkshelf::API::VERSION} and build and push berkshelf-api-#{Berkshelf::API::VERSION}.gem to Rubygems"
21
+ def release
22
+ Rake::Task["release"].execute
23
+ end
24
+
25
+ class Spec < Thor
26
+ namespace :spec
27
+ default_task :all
28
+
29
+ desc "all", "run all tests"
30
+ def all
31
+ exec "rspec --color --format=documentation spec"
32
+ end
33
+ end
34
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: berkshelf-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0.rc1
4
+ version: 1.2.0.rc2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jamie Winsor
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-04-03 00:00:00.000000000 Z
12
+ date: 2014-04-10 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: ridley
@@ -17,28 +17,28 @@ dependencies:
17
17
  requirements:
18
18
  - - ~>
19
19
  - !ruby/object:Gem::Version
20
- version: 3.0.0.rc1
20
+ version: '3.0'
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - ~>
26
26
  - !ruby/object:Gem::Version
27
- version: 3.0.0.rc1
27
+ version: '3.0'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: celluloid
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
32
  - - ~>
33
33
  - !ruby/object:Gem::Version
34
- version: '0.15'
34
+ version: 0.16.0.pre
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - ~>
40
40
  - !ruby/object:Gem::Version
41
- version: '0.15'
41
+ version: 0.16.0.pre
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: reel
44
44
  requirement: !ruby/object:Gem::Requirement
@@ -53,6 +53,20 @@ dependencies:
53
53
  - - '>='
54
54
  - !ruby/object:Gem::Version
55
55
  version: 0.4.0
56
+ - !ruby/object:Gem::Dependency
57
+ name: http
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ~>
61
+ - !ruby/object:Gem::Version
62
+ version: 0.5.0
63
+ type: :runtime
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ~>
68
+ - !ruby/object:Gem::Version
69
+ version: 0.5.0
56
70
  - !ruby/object:Gem::Dependency
57
71
  name: grape
58
72
  requirement: !ruby/object:Gem::Requirement
@@ -129,14 +143,14 @@ dependencies:
129
143
  requirements:
130
144
  - - '='
131
145
  - !ruby/object:Gem::Version
132
- version: 0.0.5
146
+ version: 0.0.6
133
147
  type: :runtime
134
148
  prerelease: false
135
149
  version_requirements: !ruby/object:Gem::Requirement
136
150
  requirements:
137
151
  - - '='
138
152
  - !ruby/object:Gem::Version
139
- version: 0.0.5
153
+ version: 0.0.6
140
154
  - !ruby/object:Gem::Dependency
141
155
  name: buff-config
142
156
  requirement: !ruby/object:Gem::Requirement
@@ -166,19 +180,19 @@ dependencies:
166
180
  - !ruby/object:Gem::Version
167
181
  version: '2.6'
168
182
  - !ruby/object:Gem::Dependency
169
- name: solve
183
+ name: semverse
170
184
  requirement: !ruby/object:Gem::Requirement
171
185
  requirements:
172
- - - '>='
186
+ - - ~>
173
187
  - !ruby/object:Gem::Version
174
- version: '0'
188
+ version: '1.0'
175
189
  type: :runtime
176
190
  prerelease: false
177
191
  version_requirements: !ruby/object:Gem::Requirement
178
192
  requirements:
179
- - - '>='
193
+ - - ~>
180
194
  - !ruby/object:Gem::Version
181
- version: '0'
195
+ version: '1.0'
182
196
  - !ruby/object:Gem::Dependency
183
197
  name: bundler
184
198
  requirement: !ruby/object:Gem::Requirement
@@ -199,14 +213,14 @@ dependencies:
199
213
  requirements:
200
214
  - - ~>
201
215
  - !ruby/object:Gem::Version
202
- version: 0.18.0
216
+ version: '0.18'
203
217
  type: :development
204
218
  prerelease: false
205
219
  version_requirements: !ruby/object:Gem::Requirement
206
220
  requirements:
207
221
  - - ~>
208
222
  - !ruby/object:Gem::Version
209
- version: 0.18.0
223
+ version: '0.18'
210
224
  - !ruby/object:Gem::Dependency
211
225
  name: chef-zero
212
226
  requirement: !ruby/object:Gem::Requirement
@@ -221,6 +235,20 @@ dependencies:
221
235
  - - ~>
222
236
  - !ruby/object:Gem::Version
223
237
  version: '1.5'
238
+ - !ruby/object:Gem::Dependency
239
+ name: octokit
240
+ requirement: !ruby/object:Gem::Requirement
241
+ requirements:
242
+ - - ~>
243
+ - !ruby/object:Gem::Version
244
+ version: '2.6'
245
+ type: :development
246
+ prerelease: false
247
+ version_requirements: !ruby/object:Gem::Requirement
248
+ requirements:
249
+ - - ~>
250
+ - !ruby/object:Gem::Version
251
+ version: '2.6'
224
252
  description: Berkshelf dependency API server
225
253
  email:
226
254
  - jamie@vialstudios.com
@@ -296,6 +324,7 @@ files:
296
324
  - spec/unit/berkshelf/api/rest_gateway_spec.rb
297
325
  - spec/unit/berkshelf/api/site_connector/opscode_spec.rb
298
326
  - spec/unit/berkshelf/api/srv_ctl_spec.rb
327
+ - tasks/build_gem.rb
299
328
  homepage: https://github.com/berkshelf/berkshelf-api
300
329
  licenses:
301
330
  - Apache 2.0