puppet-blacksmith 8.3.0 → 9.1.0

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
  SHA256:
3
- metadata.gz: f2eedc76c05832e4a0212823b2be4b5c66854a8519f4429627b9910e0ddb0872
4
- data.tar.gz: 3490c7e3c75ae40b18f9f8d0f18fcd457016e7a592a001939621ceba01e4a7fe
3
+ metadata.gz: 2cb0f832fbc4cb63388a53a880ece21d137ab49718cd968193d390169ddd704a
4
+ data.tar.gz: '039a6298f6138fa3ca876525e14c9a1ab660433677950d48702842bf8f8a3118'
5
5
  SHA512:
6
- metadata.gz: 2c4f176fbd9b52b966904b716b8b41015e179fa4719b89524d53fe4ac78132cfd064c4729dd49c8f1ff8b938c281ee6abfbad7808f29757d62396693e6fe7637
7
- data.tar.gz: 0ab56a93a4b54353d886b54fe896e17912d4ed81160d46d35d294dcdd63ef0414eeef75165375e720ac0326522d471124b82263c02ff42f73627c240e98a336e
6
+ metadata.gz: 99c63a7ef2616f6821afda84e1eb3d9f607d7b7f0846c6331ebafc7e0911a221dbcbac64fd636a7a24bb0ebafe052c539b7b96a76f9cbf98b62d5f3a2997a6a4
7
+ data.tar.gz: 280f703023efd74391501d19c74d1c1e965957f12aca516d52fa589b8e014f1bca00b297399d0b7033bfa69d524fba42383528351332555d64cee2529c62c538
@@ -1,7 +1,8 @@
1
- require 'rest-client'
1
+ require 'net/http'
2
2
  require 'json'
3
3
  require 'yaml'
4
4
  require 'base64'
5
+ require 'uri'
5
6
 
6
7
  module Blacksmith
7
8
  class Forge
@@ -21,7 +22,6 @@ module Blacksmith
21
22
  self.password = password
22
23
  self.token = token
23
24
  self.api_key = api_key
24
- RestClient.proxy = ENV.fetch('http_proxy', nil)
25
25
  load_credentials
26
26
  self.url = url unless url.nil?
27
27
  if %r{http(s)?://forge.puppetlabs.com}.match?(self.url)
@@ -51,15 +51,32 @@ module Blacksmith
51
51
  private
52
52
 
53
53
  def upload(author, name, file)
54
- url = http_url(author, name, file)
55
- case forge_type
56
- when FORGE_TYPE_ARTIFACTORY
57
- RestClient::Request.execute(method: :put, url: url, payload: File.new(file, 'rb'), headers: http_headers)
58
- else
59
- RestClient::Request.execute(method: :post, url: url, payload: { file: File.new(file, 'rb') }, headers: http_headers)
54
+ target_url = http_url(author, name, file)
55
+ uri = URI(target_url)
56
+
57
+ http = Net::HTTP.new(uri.host, uri.port)
58
+ http.use_ssl = (uri.scheme == 'https')
59
+
60
+ response = File.open(file, 'rb') do |f|
61
+ if forge_type == FORGE_TYPE_ARTIFACTORY
62
+ request = Net::HTTP::Put.new(uri.request_uri, http_headers)
63
+ request.body_stream = f
64
+ else
65
+ request = Net::HTTP::Post.new(uri.request_uri, http_headers)
66
+ request.set_form([
67
+ ['file', f, { filename: File.basename(file) }],
68
+ ], 'multipart/form-data')
69
+ end
70
+ http.request(request)
60
71
  end
61
- rescue RestClient::Exception => e
62
- raise Blacksmith::Error, "Error uploading #{name} to the forge #{url} [#{e.message}]: #{e.response}"
72
+
73
+ raise Blacksmith::Error, "Error uploading #{name} to the forge #{target_url} [#{response.code} #{response.message}]: #{response.body}" unless response.is_a?(Net::HTTPSuccess)
74
+ rescue Net::HTTPClientException => e
75
+ raise Blacksmith::Error, "Error uploading #{name} to the forge #{target_url} [#{e.response.code} #{e.response.message}]: #{e.response.body}"
76
+ rescue Net::HTTPFatalError => e
77
+ raise Blacksmith::Error, "HTTP error during upload: #{e.message}"
78
+ rescue StandardError => e
79
+ raise Blacksmith::Error, "Error uploading #{name} to the forge #{target_url} [#{e.class} #{e.message}]"
63
80
  end
64
81
 
65
82
  def http_url(author, name, file)
@@ -6,11 +6,11 @@ module Blacksmith
6
6
  class RakeTask < ::Rake::TaskLib
7
7
  attr_accessor :tag_pattern, :tag_message_pattern, :tag_sign, :commit_message_pattern, :build
8
8
 
9
- def initialize(*args, &task_block)
9
+ def initialize(*args, &)
10
10
  @build = true
11
11
  @task_name = args.shift || 'blacksmith'
12
12
  @desc = args.shift || 'Puppet Forge utilities'
13
- define(args, &task_block)
13
+ define(args, &)
14
14
  end
15
15
 
16
16
  def git
@@ -102,7 +102,7 @@ module Blacksmith
102
102
 
103
103
  %i[major minor patch].each do |level|
104
104
  desc "Get the next #{level.upcase} version"
105
- task "next:#{level}".to_sym do
105
+ task :"next:#{level}" do
106
106
  m = Blacksmith::Modulefile.new
107
107
  puts m.increase_version(m.version, level)
108
108
  end
@@ -118,7 +118,7 @@ module Blacksmith
118
118
  namespace :bump_commit do
119
119
  %i[major minor patch full].each do |level|
120
120
  desc "Bump module version to the next #{level.upcase} version and git commit"
121
- task level => "bump:#{level}".to_sym do
121
+ task level => :"bump:#{level}" do
122
122
  m = Blacksmith::Modulefile.new
123
123
  git.commit_modulefile!(m.version)
124
124
  end
@@ -1,3 +1,3 @@
1
1
  module Blacksmith
2
- VERSION = '8.3.0'
2
+ VERSION = '9.1.0'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: puppet-blacksmith
3
3
  version: !ruby/object:Gem::Version
4
- version: 8.3.0
4
+ version: 9.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - MaestroDev
@@ -50,20 +50,6 @@ dependencies:
50
50
  - - ">="
51
51
  - !ruby/object:Gem::Version
52
52
  version: 2.0.2
53
- - !ruby/object:Gem::Dependency
54
- name: rest-client
55
- requirement: !ruby/object:Gem::Requirement
56
- requirements:
57
- - - "~>"
58
- - !ruby/object:Gem::Version
59
- version: '2.0'
60
- type: :runtime
61
- prerelease: false
62
- version_requirements: !ruby/object:Gem::Requirement
63
- requirements:
64
- - - "~>"
65
- - !ruby/object:Gem::Version
66
- version: '2.0'
67
53
  - !ruby/object:Gem::Dependency
68
54
  name: aruba
69
55
  requirement: !ruby/object:Gem::Requirement
@@ -138,14 +124,14 @@ dependencies:
138
124
  requirements:
139
125
  - - "~>"
140
126
  - !ruby/object:Gem::Version
141
- version: 3.1.0
127
+ version: 5.1.0
142
128
  type: :development
143
129
  prerelease: false
144
130
  version_requirements: !ruby/object:Gem::Requirement
145
131
  requirements:
146
132
  - - "~>"
147
133
  - !ruby/object:Gem::Version
148
- version: 3.1.0
134
+ version: 5.1.0
149
135
  - !ruby/object:Gem::Dependency
150
136
  name: webmock
151
137
  requirement: !ruby/object:Gem::Requirement
@@ -193,14 +179,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
193
179
  requirements:
194
180
  - - ">="
195
181
  - !ruby/object:Gem::Version
196
- version: 2.7.0
182
+ version: 3.2.0
183
+ - - "<"
184
+ - !ruby/object:Gem::Version
185
+ version: '5'
197
186
  required_rubygems_version: !ruby/object:Gem::Requirement
198
187
  requirements:
199
188
  - - ">="
200
189
  - !ruby/object:Gem::Version
201
190
  version: '0'
202
191
  requirements: []
203
- rubygems_version: 3.6.9
192
+ rubygems_version: 4.0.3
204
193
  specification_version: 4
205
194
  summary: Tasks to manage Puppet module builds
206
195
  test_files: []