prebundler 0.11.6 → 0.11.7

Sign up to get free protection for your applications and to get access to all the features.
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