prebundler 0.11.6 → 0.11.7

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: fdf192e38f6f57692d64316b8b3d2ae645ee28a482c47e6e2bf1f14adfa283bc
4
- data.tar.gz: 66c8f18686a990bcc1b222e4c76c6c7069793a92cd2f4bc1f102bcd2ed978b7c
3
+ metadata.gz: b3aede9a82a409f6be7544d071dc88d550eca1d958eab7b45cdd77d40c4dbd02
4
+ data.tar.gz: 12e5d87c3ae82b1843c2012be18cb1e5c0c0b123ce15578df4c382968b045f94
5
5
  SHA512:
6
- metadata.gz: 446f73025c6af47a142eba416e109805977fba9486a1120c6b726c20b3edddfd747ac459206b7780b75218a9abf6507ee502d50d6a4040b6de40769259af7f0b
7
- data.tar.gz: 72e86b825eae349a11a6b606faba2cc6280a3b125415bcf1dd2df28f80dbc3312dfeb56de4fceafc4bbe0d017528aab45710857f912c5934f7c228e4f4e049da
6
+ metadata.gz: 53c6230c94e22514c3001ed18ca32f74cb627e6ff981004665bc1ca36e6554d2293b442dd0bef7a28fa00a59d7e0caba3498db58460df699cde50c320ce071d4
7
+ data.tar.gz: df51e8ab2d6927d91481c4232599f1de1b68ed234247ba9b2e5714189072b1bde36bcc4751ebaf825f5661f5f74c302f7d3d8f8e6ede13c4deb8eeb202215b00
@@ -1,3 +1,7 @@
1
+ 0.11.7
2
+ ===
3
+ - Fix bug causing platform-specific gems to be installed from source even if they were already present in the backend.
4
+
1
5
  0.11.6
2
6
  ===
3
7
  - Fix bug causing native extension compile errors.
@@ -73,8 +73,10 @@ module Prebundler
73
73
  system "tar -C #{bundle_path} -rf #{tar_file} #{relative_extension_dir}"
74
74
  end
75
75
 
76
- executables.each do |executable|
77
- system "tar -C #{bundle_path} -rf #{tar_file} #{File.join(relative_gem_dir, 'bin', executable)}"
76
+ gemspecs.each do |gemspec|
77
+ gemspec.executables.each do |executable|
78
+ system "tar -C #{bundle_path} -rf #{tar_file} #{File.join(relative_gem_dir, gemspec.bindir, executable)}"
79
+ end
78
80
  end
79
81
  end
80
82
 
@@ -105,7 +107,13 @@ module Prebundler
105
107
  end
106
108
 
107
109
  def install_dir
108
- File.join(install_path, id)
110
+ @install_dir ||= begin
111
+ base = File.join(install_path, id)
112
+
113
+ find_platform_dir(base) do |dir|
114
+ File.directory?(dir)
115
+ end
116
+ end
109
117
  end
110
118
 
111
119
  def extension_dir
@@ -119,14 +127,10 @@ module Prebundler
119
127
  def relative_gem_dir
120
128
  @relative_gem_dir ||= begin
121
129
  base = File.join('gems', id)
122
- platform = Bundler.local_platform.to_a
123
130
 
124
- platform.size.downto(0) do |i|
125
- dir = [base, *platform[0...i]].join('-')
126
- return dir if File.directory?(File.join(bundle_path, dir))
131
+ find_platform_dir(base) do |dir|
132
+ File.directory?(File.join(bundle_path, dir))
127
133
  end
128
-
129
- base
130
134
  end
131
135
  end
132
136
 
@@ -140,5 +144,18 @@ module Prebundler
140
144
  file = File.join(Bundler.local_platform.to_s, Prebundler.platform_version, Gem.extension_api_version.to_s, "#{id}.tar")
141
145
  prefix && !prefix.empty? ? File.join(prefix, file) : file
142
146
  end
147
+
148
+ private
149
+
150
+ def find_platform_dir(base)
151
+ platform = Bundler.local_platform.to_a
152
+
153
+ platform.size.downto(0) do |i|
154
+ dir = [base, *platform[0...i]].join('-')
155
+ return dir if yield(dir)
156
+ end
157
+
158
+ base
159
+ end
143
160
  end
144
161
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Prebundler
4
- VERSION = '0.11.6'
4
+ VERSION = '0.11.7'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: prebundler
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.6
4
+ version: 0.11.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cameron Dutro