serverlessgems 0.1.0 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +12 -0
- data/lib/jets/gems/agree.rb +20 -7
- data/lib/jets/gems/api.rb +4 -0
- data/lib/jets/gems/api/concern.rb +4 -0
- data/lib/jets/gems/check.rb +35 -5
- data/lib/jets/gems/exist.rb +0 -2
- data/lib/jets/gems/registered.rb +12 -0
- data/lib/jets/gems/version.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 801c924a1a3b4c3308e4637a26d849d7423322f579c9985c2197a1ae64b6b98d
|
4
|
+
data.tar.gz: d567760d50e0f0c095a4d6ece3bb659a31a351898bb6827266c9bbc0bef0a27a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 723634152694aebb484c1693c1cbf49466195b0e84424e72a8f46cce75216211fcf138bd5fd36ac4b75fc3c3dbd79f75703964ebac8b1bfc4704e0fef93b76c4
|
7
|
+
data.tar.gz: cceb728e1d0bf62c2ced97d31059ab8ff0c155338c540572bbf70c72238b81365392eea49fcc66e2c0ada09c862d4cd152fd5e77b3375e13282af712ad37e6f8
|
data/CHANGELOG.md
CHANGED
@@ -3,6 +3,18 @@
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
4
4
|
This project *loosely tries* to adhere to [Semantic Versioning](http://semver.org/).
|
5
5
|
|
6
|
+
## [0.1.4] - 2021-07-15
|
7
|
+
- [#3](https://github.com/boltops-tools/serverlessgems/pull/3) gems/registered api
|
8
|
+
|
9
|
+
## [0.1.3] - 2021-04-13
|
10
|
+
- update jets agree messaging
|
11
|
+
|
12
|
+
## [0.1.2] - 2021-01-12
|
13
|
+
- [#2](https://github.com/boltops-tools/serverlessgems/pull/2) fix other_compiled_gems Jets.build_root
|
14
|
+
|
15
|
+
## [0.1.1] - 2021-01-12
|
16
|
+
- [#1](https://github.com/boltops-tools/serverlessgems/pull/1) fix native gem detection
|
17
|
+
|
6
18
|
## [0.1.0]
|
7
19
|
- Initial release
|
8
20
|
- Rename to serverlessgems
|
data/lib/jets/gems/agree.rb
CHANGED
@@ -7,19 +7,32 @@ module Jets::Gems
|
|
7
7
|
# Only prompts if hasnt prompted before and saved a ~/.jets/agree file
|
8
8
|
def prompt
|
9
9
|
return if bypass_prompt
|
10
|
-
return if File.exist?(@agree_file)
|
10
|
+
return if File.exist?(@agree_file) && File.mtime(@agree_file) > Time.parse("2021-04-12")
|
11
11
|
|
12
12
|
puts <<~EOL
|
13
|
-
Jets
|
13
|
+
Jets uses pre-built binary gems from the serverlessgems.com service to
|
14
|
+
provide a user-friendly developer experience. The Serverless Gems Service
|
15
|
+
rate limits free gem download requests daily. You can upgrade to a paid plan
|
16
|
+
for unlimited gem download requests. Open Source projects may also qualify
|
17
|
+
for a free unlimited plan. More info:
|
14
18
|
|
15
|
-
|
16
|
-
So if you run into missing gems, you can try deploying again after a few minutes.
|
17
|
-
Non-reported gems may take several days or longer.
|
19
|
+
https://www.serverlessgems.com/rate-limits
|
18
20
|
|
19
|
-
|
21
|
+
If you do not want to use Serverless Gems, you can disable the Serverless
|
22
|
+
Gems service and provide your own custom Lambda Layer. More info:
|
20
23
|
|
24
|
+
https://rubyonjets.com/docs/serverlessgems/
|
25
|
+
https://rubyonjets.com/docs/extras/custom-lambda-layers/
|
26
|
+
|
27
|
+
Also, reporting gems to Serverless Gems allows it to build new gems typically
|
28
|
+
within a few minutes. So if you run into missing gems, you can try deploying
|
29
|
+
again after a few minutes. Non-reported gems may take several days or longer.
|
30
|
+
Serverless Gems only collects the info it needs to run the service.
|
31
|
+
More info: https://www.serverlessgems.com/privacy
|
21
32
|
This message will only appear once on this machine.
|
22
|
-
|
33
|
+
|
34
|
+
You can also automatically skip this message by setting:
|
35
|
+
JETS_AGREE=yes or JETS_AGREE=no
|
23
36
|
|
24
37
|
Is it okay to send your gem data to Serverless Gems? (Y/n)?
|
25
38
|
EOL
|
data/lib/jets/gems/api.rb
CHANGED
data/lib/jets/gems/check.rb
CHANGED
@@ -12,7 +12,7 @@ module Jets::Gems
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def run!
|
15
|
-
puts "Gems source: #{gems_source}" if @options[:
|
15
|
+
puts "Gems source: #{gems_source}" if @options[:verbose]
|
16
16
|
run(exit_early: true)
|
17
17
|
end
|
18
18
|
|
@@ -22,9 +22,9 @@ module Jets::Gems
|
|
22
22
|
|
23
23
|
# Checks whether the gem is found at the serverlessgems source.
|
24
24
|
def run(exit_early: false)
|
25
|
-
puts "Checking projects gems for binary
|
25
|
+
puts "Checking projects gems for binary serverlessgems..."
|
26
26
|
compiled_gems.each do |gem_name|
|
27
|
-
puts "Checking #{gem_name}..." if @options[:
|
27
|
+
puts "Checking #{gem_name}..." if @options[:verbose]
|
28
28
|
exist = Jets::Gems::Exist.new
|
29
29
|
@missing_gems << gem_name unless exist.check(gem_name)
|
30
30
|
end
|
@@ -131,7 +131,37 @@ EOL
|
|
131
131
|
# jets deploy
|
132
132
|
# jets gems:check
|
133
133
|
#
|
134
|
-
gemspec_compiled_gems
|
134
|
+
gems = gemspec_compiled_gems
|
135
|
+
gems += other_compiled_gems
|
136
|
+
gems += registered_compiled_gems
|
137
|
+
gems.uniq
|
138
|
+
end
|
139
|
+
end
|
140
|
+
|
141
|
+
# note 2.7.0/gems vs 2.7.0/extensions
|
142
|
+
#
|
143
|
+
# /tmp/jets/demo/stage/opt/ruby/gems/2.7.0/gems/nokogiri-1.11.1-x86_64-darwin/
|
144
|
+
# /tmp/jets/demo/stage/opt/ruby/gems/2.7.0/extensions/x86_64-linux/2.7.0/
|
145
|
+
#
|
146
|
+
# Also the platform is appended to the gem folder now
|
147
|
+
#
|
148
|
+
# /tmp/jets/demo/stage/opt/ruby/gems/2.7.0/gems/nokogiri-1.11.1-x86_64-darwin
|
149
|
+
# /tmp/jets/demo/stage/opt/ruby/gems/2.7.0/gems/nokogiri-1.11.1-x86_64-linux
|
150
|
+
#
|
151
|
+
def other_compiled_gems
|
152
|
+
paths = Dir.glob("#{Jets.build_root}/stage/opt/ruby/gems/#{Jets::Gems.ruby_folder}/gems/*{-darwin,-linux}")
|
153
|
+
paths.map { |p| File.basename(p).sub(/-x\d+.*-(darwin|linux)/,'') }
|
154
|
+
end
|
155
|
+
|
156
|
+
def registered_compiled_gems
|
157
|
+
registered = Jets::Gems::Registered.new
|
158
|
+
registered_gems = registered.all # no version numbers in this list
|
159
|
+
|
160
|
+
paths = Dir.glob("#{Jets.build_root}/stage/opt/ruby/gems/#{Jets::Gems.ruby_folder}/gems/*")
|
161
|
+
project_gems = paths.map { |p| File.basename(p).sub(/-x\d+.*-(darwin|linux)/,'') }
|
162
|
+
project_gems.select do |name|
|
163
|
+
name_only = name.sub(/-\d+\.\d+\.\d+.*/,'')
|
164
|
+
registered_gems.include?(name_only)
|
135
165
|
end
|
136
166
|
end
|
137
167
|
|
@@ -189,4 +219,4 @@ EOL
|
|
189
219
|
output.include?("has been deleted")
|
190
220
|
end
|
191
221
|
end
|
192
|
-
end
|
222
|
+
end
|
data/lib/jets/gems/exist.rb
CHANGED
data/lib/jets/gems/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: serverlessgems
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tung Nguyen
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-07-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: gems
|
@@ -122,6 +122,7 @@ files:
|
|
122
122
|
- lib/jets/gems/exist.rb
|
123
123
|
- lib/jets/gems/extract/base.rb
|
124
124
|
- lib/jets/gems/extract/gem.rb
|
125
|
+
- lib/jets/gems/registered.rb
|
125
126
|
- lib/jets/gems/report.rb
|
126
127
|
- lib/jets/gems/version.rb
|
127
128
|
- lib/serverlessgems.rb
|
@@ -145,7 +146,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
145
146
|
- !ruby/object:Gem::Version
|
146
147
|
version: '0'
|
147
148
|
requirements: []
|
148
|
-
rubygems_version: 3.
|
149
|
+
rubygems_version: 3.2.5
|
149
150
|
signing_key:
|
150
151
|
specification_version: 4
|
151
152
|
summary: Client Library works with Serverless Gems API for Jets Ruby Serverless Framework
|