concourse-resource-rubygems 0.3.4 → 0.4.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/.semver +2 -2
- data/LICENSE.txt +19 -10
- data/README.org +21 -10
- data/concourse-resource-rubygems.gemspec +16 -14
- data/lib/concourse-resource/rubygems.rb +1 -0
- data/lib/concourse-resource/rubygems/ambiguous_glob.rb +9 -0
- data/lib/concourse-resource/rubygems/core.rb +1 -1
- data/lib/concourse-resource/rubygems/error.rb +6 -0
- data/lib/concourse-resource/rubygems/gem_not_found.rb +3 -1
- data/lib/concourse-resource/rubygems/out.rb +42 -0
- data/lib/concourse-resource/rubygems/support/source.rb +8 -0
- data/lib/concourse-resource/rubygems/version.rb +6 -1
- data/trust/certificates/colstrom.pem +25 -0
- metadata +35 -26
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: d96591d59851e1b914175222af77ab7e4d71f9671750081f7815f5d9d3e5d657
|
4
|
+
data.tar.gz: 9abb91dfe12e100f2f731f5cbf2ad3c91c30a5d77f1a5fde94c9f7268ce3e7f3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 791cc16be72c8421d04ceb3ce0dfe9ca0368e4f5eca2eea94e5c1d7c95a51d938cc5b89aec1f2fed35c9fa37f260c22f9c4919db1ab08f9435c3ba1be1fc6f63
|
7
|
+
data.tar.gz: 25bbdc059daa4ee895942c9a4873fea02eb4790209dbea8632c663b56a89bd12267c3c63a9fe5e0e375d26e37b61c010992dea9c297ad546093a94b312808c35
|
checksums.yaml.gz.sig
ADDED
Binary file
|
data.tar.gz.sig
ADDED
Binary file
|
data/.semver
CHANGED
data/LICENSE.txt
CHANGED
@@ -1,13 +1,22 @@
|
|
1
|
-
Copyright 2016 Chris Olstrom <chris@olstrom.com>
|
2
1
|
|
3
|
-
|
4
|
-
|
5
|
-
|
2
|
+
The MIT License (MIT)
|
3
|
+
Copyright © 2016-2018 Chris Olstrom <chris@olstrom.com>
|
4
|
+
Copyright © 2016-2018 SUSE LLC
|
6
5
|
|
7
|
-
|
6
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
7
|
+
of this software and associated documentation files (the “Software”), to deal
|
8
|
+
in the Software without restriction, including without limitation the rights
|
9
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
10
|
+
copies of the Software, and to permit persons to whom the Software is
|
11
|
+
furnished to do so, subject to the following conditions:
|
8
12
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
13
|
+
The above copyright notice and this permission notice shall be included in
|
14
|
+
all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
17
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
18
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
19
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
20
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
21
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
22
|
+
THE SOFTWARE.
|
data/README.org
CHANGED
@@ -20,12 +20,13 @@ Add the resource to your pipeline's ~resource_types~ (requires Concourse 0.74.0+
|
|
20
20
|
|
21
21
|
* Source Configuration
|
22
22
|
|
23
|
-
|
24
|
-
| Name
|
25
|
-
|
26
|
-
| gem
|
27
|
-
| host
|
28
|
-
|
23
|
+
|---------+----------+--------------+----------------------|
|
24
|
+
| Name | Required | Default | Description |
|
25
|
+
|---------+----------+--------------+----------------------|
|
26
|
+
| gem | Yes | | The name of the gem |
|
27
|
+
| host | No | rubygems.org | The RubyGems host |
|
28
|
+
| api_key | Yes | | Key for RubyGems API |
|
29
|
+
|---------+----------+--------------+----------------------|
|
29
30
|
|
30
31
|
* Behaviour
|
31
32
|
|
@@ -35,19 +36,29 @@ Add the resource to your pipeline's ~resource_types~ (requires Concourse 0.74.0+
|
|
35
36
|
|
36
37
|
- None
|
37
38
|
|
38
|
-
** ~out~ Not Implemented
|
39
|
-
|
40
39
|
** ~in~ Fetch a gem
|
41
40
|
|
42
|
-
|
41
|
+
Fetch a gem.
|
43
42
|
|
44
43
|
*** Parameters
|
45
44
|
|
46
45
|
- None
|
47
46
|
|
47
|
+
** ~out~ Publish a gem
|
48
|
+
|
49
|
+
*** Parameters
|
50
|
+
|
51
|
+
|------+----------+------------------+--------------------------------------|
|
52
|
+
| Name | Required | Default | Description |
|
53
|
+
|------+----------+------------------+--------------------------------------|
|
54
|
+
| glob | no | pkg/#{gem}-*.gem | Globbing pattern for files to upload |
|
55
|
+
|------+----------+------------------+--------------------------------------|
|
56
|
+
|
48
57
|
* License
|
49
58
|
|
50
|
-
|
59
|
+
|
60
|
+
~concourse-resource-rubygems~ is available under the [[https://tldrlegal.com/license/mit-license][MIT License]]. See
|
61
|
+
~LICENSE.txt~ for the full text.
|
51
62
|
|
52
63
|
* Contributors
|
53
64
|
|
@@ -1,23 +1,25 @@
|
|
1
|
-
require_relative 'lib/concourse-resource/rubygems/version'
|
2
|
-
|
3
1
|
Gem::Specification.new do |gem|
|
2
|
+
tag = `git describe --tags --abbrev=0`.chomp
|
3
|
+
|
4
4
|
gem.name = 'concourse-resource-rubygems'
|
5
|
-
gem.
|
6
|
-
gem.license = 'Apache-2.0'
|
5
|
+
gem.homepage = 'https://github.com/colstrom/concourse-resource-rubygems'
|
7
6
|
gem.summary = 'Concourse Resource for RubyGems'
|
8
7
|
|
9
|
-
gem.
|
8
|
+
gem.version = "#{tag}"
|
9
|
+
gem.licenses = ['MIT']
|
10
|
+
gem.authors = ['Chris Olstrom']
|
10
11
|
gem.email = 'chris@olstrom.com'
|
11
|
-
gem.homepage = 'https://github.com/colstrom/concourse-resource-rubygems'
|
12
12
|
|
13
|
-
gem.
|
14
|
-
gem.
|
15
|
-
|
16
|
-
gem.
|
13
|
+
gem.cert_chain = ['trust/certificates/colstrom.pem']
|
14
|
+
gem.signing_key = File.expand_path ENV.fetch 'GEM_SIGNING_KEY'
|
15
|
+
|
16
|
+
gem.files = `git ls-files -z`.split("\x0")
|
17
|
+
gem.executables = `git ls-files -z -- bin/*`.split("\x0").map { |f| File.basename(f) }
|
18
|
+
gem.test_files = `git ls-files -z -- {test,spec,features}/*`.split("\x0")
|
17
19
|
|
18
|
-
gem.
|
19
|
-
gem.add_runtime_dependency 'gems', '~> 0.8', '>= 0.8.3'
|
20
|
-
gem.add_runtime_dependency 'httparty', '~> 0.13', '>= 0.13.7'
|
20
|
+
gem.require_paths = ['lib']
|
21
21
|
|
22
|
-
gem.
|
22
|
+
gem.add_runtime_dependency 'concourse-fuselage', '~> 0.3', '>= 0.3.0'
|
23
|
+
gem.add_runtime_dependency 'gems', '~> 0.8', '>= 0.8.3'
|
24
|
+
gem.add_runtime_dependency 'httparty', '~> 0.13', '>= 0.13.7'
|
23
25
|
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
require 'concourse-fuselage'
|
2
|
+
require 'contracts'
|
3
|
+
require 'gems'
|
4
|
+
require_relative 'ambiguous_glob'
|
5
|
+
require_relative 'core'
|
6
|
+
require_relative 'support/source'
|
7
|
+
|
8
|
+
module ConcourseResource
|
9
|
+
module RubyGems
|
10
|
+
class Out < Fuselage::Out
|
11
|
+
include Core
|
12
|
+
include Support::Source
|
13
|
+
|
14
|
+
Contract None => String
|
15
|
+
def glob
|
16
|
+
@glob ||= params.fetch('glob') { "pkg/#{gem}-*.gem" }
|
17
|
+
end
|
18
|
+
|
19
|
+
Contract None => ArrayOf[String]
|
20
|
+
def files
|
21
|
+
@files ||= Dir.glob(glob).tap do |matches|
|
22
|
+
raise AmbiguousGlob, matches if matches.size > 1
|
23
|
+
end
|
24
|
+
rescue AmbiguousGlob => error
|
25
|
+
STDERR.puts "Glob #{glob} matches too many files", error.message
|
26
|
+
abort
|
27
|
+
end
|
28
|
+
|
29
|
+
Contract None => Any
|
30
|
+
def configure!
|
31
|
+
Gems.configure do |api|
|
32
|
+
api.key = api_key
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
def update!
|
37
|
+
configure!
|
38
|
+
files.each { |file| Gems.push file }
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
@@ -20,6 +20,14 @@ module ConcourseResource
|
|
20
20
|
def host
|
21
21
|
@host ||= source.fetch('host') { 'rubygems.org' }
|
22
22
|
end
|
23
|
+
|
24
|
+
Contract None => String
|
25
|
+
def api_key
|
26
|
+
@api_key ||= source.fetch 'api_key'
|
27
|
+
rescue KeyError
|
28
|
+
STDERR.puts 'Source is missing api_key'
|
29
|
+
abort
|
30
|
+
end
|
23
31
|
end
|
24
32
|
end
|
25
33
|
end
|
@@ -1,5 +1,10 @@
|
|
1
1
|
module ConcourseResource
|
2
2
|
module RubyGems
|
3
|
-
VERSION =
|
3
|
+
VERSION = $LOADED_FEATURES
|
4
|
+
.map { |f| f.match %r{/concourse-resource-rubygems-(?<version>[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+(\.pre)?)} }
|
5
|
+
.compact
|
6
|
+
.map { |gem| gem['version'] }
|
7
|
+
.uniq
|
8
|
+
.first
|
4
9
|
end
|
5
10
|
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
2
|
+
MIIENDCCApygAwIBAgIBATANBgkqhkiG9w0BAQsFADAiMSAwHgYDVQQDDBdjaHJp
|
3
|
+
cy9EQz1vbHN0cm9tL0RDPWNvbTAeFw0xODAzMTUxODMxMTdaFw0xOTAzMTUxODMx
|
4
|
+
MTdaMCIxIDAeBgNVBAMMF2NocmlzL0RDPW9sc3Ryb20vREM9Y29tMIIBojANBgkq
|
5
|
+
hkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAp31YmQvpMuQSlgX22B++/rxl4p4LYyaq
|
6
|
+
cDDbi8DBro9cm2H60lbpCuAUALiED2CagZEK0vel5W8AnZhhns0OEYAlpQtBSJtN
|
7
|
+
8P/jlNYruuY26aVhfHfyA5j1n7tVecJz3i/awEPGC3zuTfvUq7Ahn5czOy+hIm4M
|
8
|
+
epee881dqnJlXjzTX/TKFYQa9tYj4bhsjfJOV+EDMcao/DE3vmNcBKH8XFVv/wQe
|
9
|
+
MGC7VY5zBwow00AkCicNmIr0Psy5hLvqphJ/E3Eiu4UpXhiBfM0z7xiBPoPMBqOx
|
10
|
+
r1RzgfKm/JbDO7leFmrEi8hLofyMmbuGvrSTE274vS4EnKaW6OtK7QM5R+jOJZbd
|
11
|
+
67KUgSw+LdHNwu8xCuuQOdKPeSfWdNz94KAdczjzHdXUl/SpfmTuN/D+BCZjTxSo
|
12
|
+
F1kACSU6uGTBFKZy35XK+yqeny/1l6xRs6j+cON+LSRMKYSt7jdLcKQVk5wH2xLo
|
13
|
+
83njwnumFxKhiWu0oaT5dlDCtyYM85j9AgMBAAGjdTBzMAkGA1UdEwQCMAAwCwYD
|
14
|
+
VR0PBAQDAgSwMB0GA1UdDgQWBBQEd3/D0MMj9FHhMZk0QJDlrUtKaTAcBgNVHREE
|
15
|
+
FTATgRFjaHJpc0BvbHN0cm9tLmNvbTAcBgNVHRIEFTATgRFjaHJpc0BvbHN0cm9t
|
16
|
+
LmNvbTANBgkqhkiG9w0BAQsFAAOCAYEALritM5RkGNZ7cs8hlljSEyuwJrbJYOSX
|
17
|
+
6p1S0D83GlfGZ/5XABy1p4EGQjxiAYuDrnnIw6GLHpgxFEtUNvyNYVfAa6u6yz4Y
|
18
|
+
nEjbEF76zAAxoRfivDApGJ3G9wuZ14cHZswFJppf2N4RG14F8bfLtU1OMYDLw8eK
|
19
|
+
QJOpynqHtrSj+FfsyNb6d93K8rlNCEd4UHkdRH1m7VnG6M18HvkbQCRMJtOFg/3j
|
20
|
+
c66TgdClDMJJXXiktVinfsmpTwxe2IzjGvwo2CZ/S53WPU/jb4uQMUzY0tMw48rl
|
21
|
+
S07/1DQNogstTnLYueqkUS1PYEwtavKVnpAtnaOdf0rJ/Rk4hA36BRgAVyQrp0uu
|
22
|
+
mSbo3NCvepJNYsTOUM+Df421VuPq713JV0aJDqltyfPptTM7fmNMcukbRh0aRuMT
|
23
|
+
EIKh6yDoB+oCRuiTV0uw/lKE2PtbONhJb7uN1qhZqla/iBpmUjiEu8+skI+ygv9n
|
24
|
+
7Krw8FJrV3+VRCiZTPKHeshAfL9yeIZh
|
25
|
+
-----END CERTIFICATE-----
|
metadata
CHANGED
@@ -1,14 +1,40 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: concourse-resource-rubygems
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Olstrom
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
|
-
cert_chain:
|
11
|
-
|
10
|
+
cert_chain:
|
11
|
+
- |
|
12
|
+
-----BEGIN CERTIFICATE-----
|
13
|
+
MIIENDCCApygAwIBAgIBATANBgkqhkiG9w0BAQsFADAiMSAwHgYDVQQDDBdjaHJp
|
14
|
+
cy9EQz1vbHN0cm9tL0RDPWNvbTAeFw0xODAzMTUxODMxMTdaFw0xOTAzMTUxODMx
|
15
|
+
MTdaMCIxIDAeBgNVBAMMF2NocmlzL0RDPW9sc3Ryb20vREM9Y29tMIIBojANBgkq
|
16
|
+
hkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAp31YmQvpMuQSlgX22B++/rxl4p4LYyaq
|
17
|
+
cDDbi8DBro9cm2H60lbpCuAUALiED2CagZEK0vel5W8AnZhhns0OEYAlpQtBSJtN
|
18
|
+
8P/jlNYruuY26aVhfHfyA5j1n7tVecJz3i/awEPGC3zuTfvUq7Ahn5czOy+hIm4M
|
19
|
+
epee881dqnJlXjzTX/TKFYQa9tYj4bhsjfJOV+EDMcao/DE3vmNcBKH8XFVv/wQe
|
20
|
+
MGC7VY5zBwow00AkCicNmIr0Psy5hLvqphJ/E3Eiu4UpXhiBfM0z7xiBPoPMBqOx
|
21
|
+
r1RzgfKm/JbDO7leFmrEi8hLofyMmbuGvrSTE274vS4EnKaW6OtK7QM5R+jOJZbd
|
22
|
+
67KUgSw+LdHNwu8xCuuQOdKPeSfWdNz94KAdczjzHdXUl/SpfmTuN/D+BCZjTxSo
|
23
|
+
F1kACSU6uGTBFKZy35XK+yqeny/1l6xRs6j+cON+LSRMKYSt7jdLcKQVk5wH2xLo
|
24
|
+
83njwnumFxKhiWu0oaT5dlDCtyYM85j9AgMBAAGjdTBzMAkGA1UdEwQCMAAwCwYD
|
25
|
+
VR0PBAQDAgSwMB0GA1UdDgQWBBQEd3/D0MMj9FHhMZk0QJDlrUtKaTAcBgNVHREE
|
26
|
+
FTATgRFjaHJpc0BvbHN0cm9tLmNvbTAcBgNVHRIEFTATgRFjaHJpc0BvbHN0cm9t
|
27
|
+
LmNvbTANBgkqhkiG9w0BAQsFAAOCAYEALritM5RkGNZ7cs8hlljSEyuwJrbJYOSX
|
28
|
+
6p1S0D83GlfGZ/5XABy1p4EGQjxiAYuDrnnIw6GLHpgxFEtUNvyNYVfAa6u6yz4Y
|
29
|
+
nEjbEF76zAAxoRfivDApGJ3G9wuZ14cHZswFJppf2N4RG14F8bfLtU1OMYDLw8eK
|
30
|
+
QJOpynqHtrSj+FfsyNb6d93K8rlNCEd4UHkdRH1m7VnG6M18HvkbQCRMJtOFg/3j
|
31
|
+
c66TgdClDMJJXXiktVinfsmpTwxe2IzjGvwo2CZ/S53WPU/jb4uQMUzY0tMw48rl
|
32
|
+
S07/1DQNogstTnLYueqkUS1PYEwtavKVnpAtnaOdf0rJ/Rk4hA36BRgAVyQrp0uu
|
33
|
+
mSbo3NCvepJNYsTOUM+Df421VuPq713JV0aJDqltyfPptTM7fmNMcukbRh0aRuMT
|
34
|
+
EIKh6yDoB+oCRuiTV0uw/lKE2PtbONhJb7uN1qhZqla/iBpmUjiEu8+skI+ygv9n
|
35
|
+
7Krw8FJrV3+VRCiZTPKHeshAfL9yeIZh
|
36
|
+
-----END CERTIFICATE-----
|
37
|
+
date: 2018-03-15 00:00:00.000000000 Z
|
12
38
|
dependencies:
|
13
39
|
- !ruby/object:Gem::Dependency
|
14
40
|
name: concourse-fuselage
|
@@ -70,26 +96,6 @@ dependencies:
|
|
70
96
|
- - ">="
|
71
97
|
- !ruby/object:Gem::Version
|
72
98
|
version: 0.13.7
|
73
|
-
- !ruby/object:Gem::Dependency
|
74
|
-
name: semver2
|
75
|
-
requirement: !ruby/object:Gem::Requirement
|
76
|
-
requirements:
|
77
|
-
- - "~>"
|
78
|
-
- !ruby/object:Gem::Version
|
79
|
-
version: '3.4'
|
80
|
-
- - ">="
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: 3.4.2
|
83
|
-
type: :development
|
84
|
-
prerelease: false
|
85
|
-
version_requirements: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - "~>"
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '3.4'
|
90
|
-
- - ">="
|
91
|
-
- !ruby/object:Gem::Version
|
92
|
-
version: 3.4.2
|
93
99
|
description:
|
94
100
|
email: chris@olstrom.com
|
95
101
|
executables:
|
@@ -109,15 +115,19 @@ files:
|
|
109
115
|
- bin/out
|
110
116
|
- concourse-resource-rubygems.gemspec
|
111
117
|
- lib/concourse-resource/rubygems.rb
|
118
|
+
- lib/concourse-resource/rubygems/ambiguous_glob.rb
|
112
119
|
- lib/concourse-resource/rubygems/check.rb
|
113
120
|
- lib/concourse-resource/rubygems/core.rb
|
121
|
+
- lib/concourse-resource/rubygems/error.rb
|
114
122
|
- lib/concourse-resource/rubygems/gem_not_found.rb
|
115
123
|
- lib/concourse-resource/rubygems/in.rb
|
124
|
+
- lib/concourse-resource/rubygems/out.rb
|
116
125
|
- lib/concourse-resource/rubygems/support/source.rb
|
117
126
|
- lib/concourse-resource/rubygems/version.rb
|
127
|
+
- trust/certificates/colstrom.pem
|
118
128
|
homepage: https://github.com/colstrom/concourse-resource-rubygems
|
119
129
|
licenses:
|
120
|
-
-
|
130
|
+
- MIT
|
121
131
|
metadata: {}
|
122
132
|
post_install_message:
|
123
133
|
rdoc_options: []
|
@@ -135,9 +145,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
135
145
|
version: '0'
|
136
146
|
requirements: []
|
137
147
|
rubyforge_project:
|
138
|
-
rubygems_version: 2.
|
148
|
+
rubygems_version: 2.7.6
|
139
149
|
signing_key:
|
140
150
|
specification_version: 4
|
141
151
|
summary: Concourse Resource for RubyGems
|
142
152
|
test_files: []
|
143
|
-
has_rdoc:
|
metadata.gz.sig
ADDED
Binary file
|