serverlessgems 0.2.0 → 0.3.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: 17849f420754066145243aefd213033867f4926967d1bfd0e530ac183731ebca
4
- data.tar.gz: 358170e435dea0015b7440c8016be0e715dd5f111276334bd3c17ad51c49ef2d
3
+ metadata.gz: 85ccd616399d9f335e5aadff26a38a4f1e5584a6f7ceefb433e4772ea2d4e0e9
4
+ data.tar.gz: 01c5f24ee034758ef85b109a584c63c738dd765a1eada4be8498986bc8be7a7d
5
5
  SHA512:
6
- metadata.gz: c4618ff2e516a104d98f56ce0edd5a93229f48d7d14565a289712f7edf28c484a7052c36eb5e2dae060c43852d4664d7e3d91c290713d1a6a5b67caff2f7c969
7
- data.tar.gz: 4ab7918973479151b2200636a30547d67a9cc5eecb6fd6e178fc7000c93c837ec3801e45c796a2d11ce1d747fa65a45467399eed65220b1d76e0e7038a3a255f
6
+ metadata.gz: 0cd02b6cecda18ab6bc4650470269247618a849aa7159348d759294bf64b4756f2095142e051f7713faca586185f4d4dccb3da5e20750c5273f127b366ca1ed0
7
+ data.tar.gz: 204e73b60d8fadcf7c12ba441ca858d981ee75d5a084c64b4d54469bef701c79acc24b6d2d9dd7fdf8b88791e7a97d7f119c9243e2b0a274f4bb751b59ef8dd1
data/CHANGELOG.md CHANGED
@@ -3,6 +3,13 @@
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.3.0] - 2023-06-04
7
+ - download gems to different ruby folder: avoid conflicts when switching ruby version
8
+ - update missing gems messaging
9
+
10
+ ## [0.2.1] - 2023-02-07
11
+ - [#7](https://github.com/boltops-tools/serverlessgems/pull/7) download retry for 403 forbidden
12
+
6
13
  ## [0.2.0] - 2022-07-02
7
14
  - provide gems available info
8
15
 
@@ -63,6 +63,8 @@ Jets is unable to build a deployment package that will work on AWS Lambda withou
63
63
  * Create your own custom layer with the gem: http://rubyonjets.com/docs/extras/custom-lambda-layers/
64
64
  <% if agree.yes? -%>
65
65
  * No need to report this to us, as we've already been notified.
66
+ * Usually, missing gems can be built within a few minutes.
67
+ * Some gems may take days or even longer.
66
68
  <% elsif agree.no? -%>
67
69
  * You have choosen not to report data to serverlessgems so we will not be notified about these missing gems.
68
70
  * You can edit ~/.jets/agree to change this.
@@ -8,8 +8,8 @@ module Jets::Gems::Extract
8
8
  def initialize(name, options={})
9
9
  @name = name
10
10
  @options = options
11
-
12
- @downloads_root = options[:downloads_root] || "/tmp/jets/#{Jets.config.project_name}/serverlessgems"
11
+ ruby_folder = Jets::Gems.ruby_folder
12
+ @downloads_root = options[:downloads_root] || "/tmp/jets/#{Jets.config.project_name}/serverlessgems/#{ruby_folder}"
13
13
  end
14
14
 
15
15
  def clean_downloads(folder)
@@ -35,7 +35,7 @@ module Jets::Gems::Extract
35
35
 
36
36
  # Returns the dest path
37
37
  def download_file(url, dest)
38
- if File.exist?(dest)
38
+ if File.exist?(dest) && ENV['SG_FORCE_DOWNLOAD'].blank?
39
39
  say "File already downloaded #{dest}"
40
40
  return dest
41
41
  end
@@ -50,9 +50,24 @@ module Jets::Gems::Extract
50
50
  #
51
51
  def download_gem
52
52
  # download - also move to /tmp/jets/demo/compiled_gems folder
53
- url = gem_url
54
- basename = File.basename(url).gsub(/\?.*/,'') # remove query string info
55
- tarball_dest = download_file(url, download_path(basename))
53
+ begin
54
+ @retries ||= 0
55
+ url = gem_url
56
+ basename = File.basename(url).gsub(/\?.*/,'') # remove query string info
57
+ tarball_dest = download_file(url, download_path(basename))
58
+ rescue OpenURI::HTTPError => e
59
+ url_without_query = url.gsub(/\?.*/,'')
60
+ puts "Error downloading #{url_without_query}"
61
+ @retries += 1
62
+ if @retries < 3
63
+ sleep 1
64
+ puts "Retrying download. Retry attempt: #{@retries}"
65
+ retry
66
+ else
67
+ raise e
68
+ end
69
+ end
70
+
56
71
  unless tarball_dest
57
72
  message = "Url: #{url} not found"
58
73
  if @options[:exit_on_error]
@@ -1,5 +1,5 @@
1
1
  module Jets
2
2
  module Gems
3
- VERSION = "0.2.0"
3
+ VERSION = "0.3.0"
4
4
  end
5
5
  end
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.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tung Nguyen
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-07-02 00:00:00.000000000 Z
11
+ date: 2023-06-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gems
@@ -146,7 +146,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
146
146
  - !ruby/object:Gem::Version
147
147
  version: '0'
148
148
  requirements: []
149
- rubygems_version: 3.3.10
149
+ rubygems_version: 3.4.10
150
150
  signing_key:
151
151
  specification_version: 4
152
152
  summary: Client Library works with Serverless Gems API for Jets Ruby Serverless Framework