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 +4 -4
- data/lib/prebake/ext_builder_patch.rb +19 -3
- data/lib/prebake/extractor.rb +2 -0
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 88c9faecd0176c16d9a8c9be2bf29a5c5c5494dff2a39619f737a1645de5d7f8
|
|
4
|
+
data.tar.gz: df09fbf43755203e3304ed59c0638c8026cc63bda4e0eb6d01d8a8902188f1ba
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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
|
-
|
|
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
|
-
|
|
73
|
-
|
|
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
|
data/lib/prebake/extractor.rb
CHANGED
|
@@ -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
|