prebake 0.2.4 → 0.2.6

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: dd89a26b2545f4c3a080e52028f1ec5fcc4100b36021321c45c2e35f70e6190c
4
- data.tar.gz: 78c2f94618cbf112ad075ee84f780184bb53322db744a5012f1e299b03cf8d22
3
+ metadata.gz: 88c9faecd0176c16d9a8c9be2bf29a5c5c5494dff2a39619f737a1645de5d7f8
4
+ data.tar.gz: df09fbf43755203e3304ed59c0638c8026cc63bda4e0eb6d01d8a8902188f1ba
5
5
  SHA512:
6
- metadata.gz: c846dc96b8e3366cf674c55e453f5808bf6f25c20aec20c6f62d00f0f86f7f18c589fb85c0b8cb400c7fd80ce7b9037adc4250ee484b8d798bf67bb812ceffc6
7
- data.tar.gz: b906601a833da0313c4d1cbaad020abde631f1212337e0174d8062ca9777575b19ed98d4c882c109bd172d8de339d22a8fd59ef1986f5cd3444c437625634a51
6
+ metadata.gz: f719504356cab1c4681526e0073a947b6ac9d37f6d83a498d5dbd4304843e2024b66d266580c9114f6865ce7675892ed25a0e7555bfda81b898ec99fb59c9e41
7
+ data.tar.gz: bc53389196bc0ecda043f52c279ce5dec501959cb76c4ea82e4d935311ec2ac3675f2441024a173d5fb18c732a915e457f736affd088a459ffdffd300f23601b
@@ -38,7 +38,17 @@ module Prebake
38
38
  end
39
39
 
40
40
  if verify_checksum(cache_key, expected_checksum, cached_gem)
41
- install_from_cache(cached_gem)
41
+ installed = begin
42
+ install_from_cache(cached_gem)
43
+ rescue StandardError => e
44
+ Logger.warn "Cache install failed for #{@spec.name}: #{e.message}, falling back to source build"
45
+ false
46
+ end
47
+
48
+ unless installed
49
+ Prebake.backend.delete(cache_key)
50
+ return super
51
+ end
42
52
  else
43
53
  super
44
54
  end
@@ -69,10 +79,16 @@ module Prebake
69
79
  end
70
80
 
71
81
  def install_from_cache(gem_path)
72
- Logger.info "Installing precompiled #{@spec.name}-#{@spec.version}"
73
- Extractor.install(gem_path, @spec)
82
+ count = Extractor.install(gem_path, @spec)
83
+
84
+ if count.zero?
85
+ Logger.warn "No binaries found in cached gem for #{@spec.name}, falling back to source build"
86
+ return false
87
+ end
88
+
74
89
  FileUtils.mkdir_p(File.dirname(@spec.gem_build_complete_path))
75
90
  FileUtils.touch(@spec.gem_build_complete_path)
91
+ true
76
92
  end
77
93
  end
78
94
  end
@@ -45,6 +45,8 @@ module Prebake
45
45
 
46
46
  Logger.info "Installed precompiled #{File.basename(gem_path)} " \
47
47
  "(#{extracted_count} binary files)"
48
+
49
+ extracted_count
48
50
  rescue StandardError => e
49
51
  Logger.warn "Extraction failed for #{File.basename(gem_path)}: #{e.message}"
50
52
  raise
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: prebake
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.2.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thejus Paul