isolate 3.3.1 → 3.4.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 +5 -5
- checksums.yaml.gz.sig +3 -3
- data.tar.gz.sig +0 -0
- data/CHANGELOG.rdoc +13 -0
- data/README.rdoc +1 -1
- data/Rakefile +19 -0
- data/lib/isolate.rb +2 -2
- data/lib/isolate/sandbox.rb +37 -8
- data/test/test_isolate_sandbox.rb +1 -1
- metadata +59 -58
- metadata.gz.sig +0 -0
- data/.gemtest +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: a900a23d0c2f0cc6a1008059a1f3617b676a1b6324d5a2df8dab6783017014a4
|
4
|
+
data.tar.gz: 6f5701b5ec22dff766cc996a8901c948c816f4c2a265c7d79e17c8252cbd0143
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a1be0a0b6c85184531c784afa2eccfc7de5ca8efde0aa407cf74c6dc6773ac8448d3cdf3c942a9d0a036d5c3bfcc310dc9f2ddb3e1a6b028658f6162e7173c1d
|
7
|
+
data.tar.gz: 12202665c1e1a13d941602a73094d81240d0911056119a3aced03675ef03cb63088a820619c8b66ae902016a8e683931b33b7b1bf31dcab8415488c88e6819b3
|
checksums.yaml.gz.sig
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
1
|
+
F�t-��7$vc�"D��$�gq�>���|��6l�4#ðy�CG�P�<�HН
|
2
|
+
�|b3G��? Y�D�>����iBۄc�3O�!o��4��>��D��ZU# ��Ao�cہ8fhG��G;i"F��gC�!'m��k�?�ݗ�_���/��^�&�W�#�|�d4�-Lb��/{�浛�[�i2�^�̽*��7�,бd>,�9�jg-�S��;�
|
3
|
+
V��ߚ��˂��D�O$-8<�ZC��\`�(R���u��
|
data.tar.gz.sig
CHANGED
Binary file
|
data/CHANGELOG.rdoc
CHANGED
@@ -1,3 +1,16 @@
|
|
1
|
+
=== 3.4.0 / 2019-12-17
|
2
|
+
|
3
|
+
* 2 minor enhancements:
|
4
|
+
|
5
|
+
* Switched multiruby default value to false.
|
6
|
+
* Added logic to rebuild extensions as needed now that multiruby defaults to false.
|
7
|
+
|
8
|
+
* 3 bug fixes:
|
9
|
+
|
10
|
+
* Remove empty path strings. This caused the #include? check to nuke everything.
|
11
|
+
* Only remove paths that look like gem paths: absolute and end in "lib".
|
12
|
+
* Fixed handling of path cleanup when system:false.
|
13
|
+
|
1
14
|
=== 3.3.1 / 2015-02-02
|
2
15
|
|
3
16
|
* 1 bug fix:
|
data/README.rdoc
CHANGED
data/Rakefile
CHANGED
@@ -2,6 +2,11 @@ require "rubygems"
|
|
2
2
|
require "hoe"
|
3
3
|
|
4
4
|
$:.unshift "lib"
|
5
|
+
|
6
|
+
ENV["GEM_PATH"] ||= ""
|
7
|
+
ENV["GEM_PATH"] += ":#{Dir["tmp/isolate/ruby-*"].sort.last}"
|
8
|
+
Gem.paths = ENV
|
9
|
+
|
5
10
|
require "isolate/rake"
|
6
11
|
|
7
12
|
Hoe.plugin :isolate, :doofus, :git
|
@@ -18,9 +23,23 @@ Hoe.spec "isolate" do
|
|
18
23
|
self.history_file = "CHANGELOG.rdoc"
|
19
24
|
self.readme_file = "README.rdoc"
|
20
25
|
|
26
|
+
license "MIT"
|
27
|
+
|
28
|
+
# taken from hoe/seattlerb.rb to avoid loading perforce plugin
|
29
|
+
# REFACTOR: hoe/seattlerb.rb should just load plugins
|
30
|
+
base = "/data/www/docs.seattlerb.org"
|
31
|
+
rdoc_locations << "docs-push.seattlerb.org:#{base}/#{remote_rdoc_dir}"
|
32
|
+
|
21
33
|
dependency "hoe-seattlerb", "~> 1.2", :development
|
22
34
|
dependency "minitest", "~> 5.0", :development
|
23
35
|
dependency "hoe-doofus", "~> 1.0", :development
|
24
36
|
dependency "hoe-git", "~> 1.3", :development
|
25
37
|
dependency "ZenTest", "~> 4.5", :development
|
26
38
|
end
|
39
|
+
|
40
|
+
# allow for isolated dependencies
|
41
|
+
task :check_extra_deps => :isolate do
|
42
|
+
# but still install non-isolated
|
43
|
+
ENV.delete "GEM_HOME"
|
44
|
+
Gem.paths = ENV
|
45
|
+
end
|
data/lib/isolate.rb
CHANGED
@@ -8,7 +8,7 @@ module Isolate
|
|
8
8
|
|
9
9
|
# Duh.
|
10
10
|
|
11
|
-
VERSION = "3.
|
11
|
+
VERSION = "3.4.0"
|
12
12
|
|
13
13
|
# Disable Isolate. If a block is provided, isolation will be
|
14
14
|
# disabled for the scope of the block.
|
@@ -59,7 +59,7 @@ module Isolate
|
|
59
59
|
#
|
60
60
|
# :multiruby:: Should Isolate assume that multiple Ruby versions
|
61
61
|
# will be used simultaneously? If so, gems will be
|
62
|
-
# segregated by Ruby version. Default is +
|
62
|
+
# segregated by Ruby version. Default is +false+.
|
63
63
|
#
|
64
64
|
# :path:: Where should isolated gems be kept? Default is
|
65
65
|
# <tt>"tmp/isolate"</tt>, and a Ruby version specifier suffix
|
data/lib/isolate/sandbox.rb
CHANGED
@@ -144,10 +144,13 @@ module Isolate
|
|
144
144
|
unless system?
|
145
145
|
isolate_lib = File.expand_path "../..", __FILE__
|
146
146
|
|
147
|
-
# manually deactivate pre-isolate gems...
|
148
|
-
$LOAD_PATH.reject!
|
149
|
-
|
150
|
-
|
147
|
+
# manually deactivate pre-isolate gems...
|
148
|
+
$LOAD_PATH.reject! { |path|
|
149
|
+
(path.start_with?("/") && # only full paths
|
150
|
+
path.end_with?("/lib") && # and that end in lib
|
151
|
+
path != isolate_lib &&
|
152
|
+
Gem.path.reject(&:empty?).any? { |gem_path| path.include?(gem_path) })
|
153
|
+
}
|
151
154
|
|
152
155
|
# HACK: Gotta keep isolate explicitly in the LOAD_PATH in
|
153
156
|
# subshells, and the only way I can think of to do that is by
|
@@ -218,6 +221,15 @@ module Isolate
|
|
218
221
|
def install environment # :nodoc:
|
219
222
|
fire :installing
|
220
223
|
|
224
|
+
install_missing environment
|
225
|
+
rebuild_extensions
|
226
|
+
|
227
|
+
fire :installed
|
228
|
+
|
229
|
+
self
|
230
|
+
end
|
231
|
+
|
232
|
+
def install_missing environment
|
221
233
|
installable = entries.select do |e|
|
222
234
|
!e.specification && e.matches?(environment)
|
223
235
|
end
|
@@ -233,10 +245,27 @@ module Isolate
|
|
233
245
|
|
234
246
|
Gem::Specification.reset
|
235
247
|
end
|
248
|
+
end
|
236
249
|
|
237
|
-
|
250
|
+
def rebuild_extensions
|
251
|
+
broken = entries.find_all { |e|
|
252
|
+
e.specification && e.specification.missing_extensions?
|
253
|
+
}
|
238
254
|
|
239
|
-
|
255
|
+
unless broken.empty?
|
256
|
+
padding = Math.log10(broken.size).to_i + 1
|
257
|
+
format = "[%0#{padding}d/%d] Building extensions for %s (ruby v%s)."
|
258
|
+
|
259
|
+
broken.each_with_index do |e, i|
|
260
|
+
spec = e.specification
|
261
|
+
log format % [i + 1, broken.size, e.name, RUBY_VERSION]
|
262
|
+
|
263
|
+
builder = Gem::Ext::Builder.new spec
|
264
|
+
builder.build_extensions
|
265
|
+
end
|
266
|
+
|
267
|
+
Gem::Specification.reset
|
268
|
+
end
|
240
269
|
end
|
241
270
|
|
242
271
|
def install? # :nodoc:
|
@@ -253,7 +282,7 @@ module Isolate
|
|
253
282
|
end
|
254
283
|
|
255
284
|
def multiruby?
|
256
|
-
@options.fetch :multiruby,
|
285
|
+
@options.fetch :multiruby, false
|
257
286
|
end
|
258
287
|
|
259
288
|
def options options = nil
|
@@ -264,7 +293,7 @@ module Isolate
|
|
264
293
|
def path
|
265
294
|
base = @options.fetch :path, DEFAULT_PATH
|
266
295
|
|
267
|
-
|
296
|
+
if multiruby? then
|
268
297
|
suffix = "#{Gem.ruby_engine}-#{RbConfig::CONFIG['ruby_version']}"
|
269
298
|
base = File.join(base, suffix) unless base =~ /#{suffix}/
|
270
299
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: isolate
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Davis
|
@@ -12,9 +12,9 @@ bindir: bin
|
|
12
12
|
cert_chain:
|
13
13
|
- |
|
14
14
|
-----BEGIN CERTIFICATE-----
|
15
|
-
|
15
|
+
MIIDPjCCAiagAwIBAgIBBDANBgkqhkiG9w0BAQsFADBFMRMwEQYDVQQDDApyeWFu
|
16
16
|
ZC1ydWJ5MRkwFwYKCZImiZPyLGQBGRYJemVuc3BpZGVyMRMwEQYKCZImiZPyLGQB
|
17
|
-
|
17
|
+
GRYDY29tMB4XDTE5MTIxMzAwMDIwNFoXDTIwMTIxMjAwMDIwNFowRTETMBEGA1UE
|
18
18
|
AwwKcnlhbmQtcnVieTEZMBcGCgmSJomT8ixkARkWCXplbnNwaWRlcjETMBEGCgmS
|
19
19
|
JomT8ixkARkWA2NvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALda
|
20
20
|
b9DCgK+627gPJkB6XfjZ1itoOQvpqH1EXScSaba9/S2VF22VYQbXU1xQXL/WzCkx
|
@@ -23,114 +23,120 @@ cert_chain:
|
|
23
23
|
GiadM9GHRaDiaxuX0cIUBj19T01mVE2iymf9I6bEsiayK/n6QujtyCbTWsAS9Rqt
|
24
24
|
qhtV7HJxNKuPj/JFH0D2cswvzznE/a5FOYO68g+YCuFi5L8wZuuM8zzdwjrWHqSV
|
25
25
|
gBEfoTEGr7Zii72cx+sCAwEAAaM5MDcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAw
|
26
|
-
HQYDVR0OBBYEFEfFe9md/r/tj/Wmwpy+MI8d9k/
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
26
|
+
HQYDVR0OBBYEFEfFe9md/r/tj/Wmwpy+MI8d9k/hMA0GCSqGSIb3DQEBCwUAA4IB
|
27
|
+
AQCkkcHqAa6IKLYGl93rn78J3L+LnqyxaA059n4IGMHWN5bv9KBQnIjOrpLadtYZ
|
28
|
+
vhWkunWDKdfVapBEq5+T4HzqnsEXC3aCv6JEKJY6Zw7iSzl0M8hozuzRr+w46wvT
|
29
|
+
fV2yTN6QTVxqbMsJJyjosks4ZdQYov2zdvQpt1HsLi+Qmckmg8SPZsd+T8uiiBCf
|
30
|
+
b+1ORSM5eEfBQenPXy83LZcoQz8i6zVB4aAfTGGdhxjoMGUEmSZ6xpkOzmnGa9QK
|
31
|
+
m5x9IDiApM+vCELNwDXXGNFEnQBBK+wAe4Pek8o1V1TTOxL1kGPewVOitX1p3xoN
|
32
|
+
h7iEjga8iM1LbZUfiISZ+WrB
|
33
33
|
-----END CERTIFICATE-----
|
34
|
-
date:
|
34
|
+
date: 2019-12-18 00:00:00.000000000 Z
|
35
35
|
dependencies:
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
|
-
name:
|
38
|
-
requirement: !ruby/object:Gem::Requirement
|
39
|
-
requirements:
|
40
|
-
- - ~>
|
41
|
-
- !ruby/object:Gem::Version
|
42
|
-
version: '5.5'
|
43
|
-
type: :development
|
44
|
-
prerelease: false
|
45
|
-
version_requirements: !ruby/object:Gem::Requirement
|
46
|
-
requirements:
|
47
|
-
- - ~>
|
48
|
-
- !ruby/object:Gem::Version
|
49
|
-
version: '5.5'
|
50
|
-
- !ruby/object:Gem::Dependency
|
51
|
-
name: rdoc
|
37
|
+
name: hoe-seattlerb
|
52
38
|
requirement: !ruby/object:Gem::Requirement
|
53
39
|
requirements:
|
54
|
-
- - ~>
|
40
|
+
- - "~>"
|
55
41
|
- !ruby/object:Gem::Version
|
56
|
-
version: '
|
42
|
+
version: '1.2'
|
57
43
|
type: :development
|
58
44
|
prerelease: false
|
59
45
|
version_requirements: !ruby/object:Gem::Requirement
|
60
46
|
requirements:
|
61
|
-
- - ~>
|
47
|
+
- - "~>"
|
62
48
|
- !ruby/object:Gem::Version
|
63
|
-
version: '
|
49
|
+
version: '1.2'
|
64
50
|
- !ruby/object:Gem::Dependency
|
65
|
-
name:
|
51
|
+
name: minitest
|
66
52
|
requirement: !ruby/object:Gem::Requirement
|
67
53
|
requirements:
|
68
|
-
- - ~>
|
54
|
+
- - "~>"
|
69
55
|
- !ruby/object:Gem::Version
|
70
|
-
version: '
|
56
|
+
version: '5.0'
|
71
57
|
type: :development
|
72
58
|
prerelease: false
|
73
59
|
version_requirements: !ruby/object:Gem::Requirement
|
74
60
|
requirements:
|
75
|
-
- - ~>
|
61
|
+
- - "~>"
|
76
62
|
- !ruby/object:Gem::Version
|
77
|
-
version: '
|
63
|
+
version: '5.0'
|
78
64
|
- !ruby/object:Gem::Dependency
|
79
65
|
name: hoe-doofus
|
80
66
|
requirement: !ruby/object:Gem::Requirement
|
81
67
|
requirements:
|
82
|
-
- - ~>
|
68
|
+
- - "~>"
|
83
69
|
- !ruby/object:Gem::Version
|
84
70
|
version: '1.0'
|
85
71
|
type: :development
|
86
72
|
prerelease: false
|
87
73
|
version_requirements: !ruby/object:Gem::Requirement
|
88
74
|
requirements:
|
89
|
-
- - ~>
|
75
|
+
- - "~>"
|
90
76
|
- !ruby/object:Gem::Version
|
91
77
|
version: '1.0'
|
92
78
|
- !ruby/object:Gem::Dependency
|
93
79
|
name: hoe-git
|
94
80
|
requirement: !ruby/object:Gem::Requirement
|
95
81
|
requirements:
|
96
|
-
- - ~>
|
82
|
+
- - "~>"
|
97
83
|
- !ruby/object:Gem::Version
|
98
84
|
version: '1.3'
|
99
85
|
type: :development
|
100
86
|
prerelease: false
|
101
87
|
version_requirements: !ruby/object:Gem::Requirement
|
102
88
|
requirements:
|
103
|
-
- - ~>
|
89
|
+
- - "~>"
|
104
90
|
- !ruby/object:Gem::Version
|
105
91
|
version: '1.3'
|
106
92
|
- !ruby/object:Gem::Dependency
|
107
93
|
name: ZenTest
|
108
94
|
requirement: !ruby/object:Gem::Requirement
|
109
95
|
requirements:
|
110
|
-
- - ~>
|
96
|
+
- - "~>"
|
111
97
|
- !ruby/object:Gem::Version
|
112
98
|
version: '4.5'
|
113
99
|
type: :development
|
114
100
|
prerelease: false
|
115
101
|
version_requirements: !ruby/object:Gem::Requirement
|
116
102
|
requirements:
|
117
|
-
- - ~>
|
103
|
+
- - "~>"
|
118
104
|
- !ruby/object:Gem::Version
|
119
105
|
version: '4.5'
|
106
|
+
- !ruby/object:Gem::Dependency
|
107
|
+
name: rdoc
|
108
|
+
requirement: !ruby/object:Gem::Requirement
|
109
|
+
requirements:
|
110
|
+
- - ">="
|
111
|
+
- !ruby/object:Gem::Version
|
112
|
+
version: '4.0'
|
113
|
+
- - "<"
|
114
|
+
- !ruby/object:Gem::Version
|
115
|
+
version: '7'
|
116
|
+
type: :development
|
117
|
+
prerelease: false
|
118
|
+
version_requirements: !ruby/object:Gem::Requirement
|
119
|
+
requirements:
|
120
|
+
- - ">="
|
121
|
+
- !ruby/object:Gem::Version
|
122
|
+
version: '4.0'
|
123
|
+
- - "<"
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '7'
|
120
126
|
- !ruby/object:Gem::Dependency
|
121
127
|
name: hoe
|
122
128
|
requirement: !ruby/object:Gem::Requirement
|
123
129
|
requirements:
|
124
|
-
- - ~>
|
130
|
+
- - "~>"
|
125
131
|
- !ruby/object:Gem::Version
|
126
|
-
version: '3.
|
132
|
+
version: '3.20'
|
127
133
|
type: :development
|
128
134
|
prerelease: false
|
129
135
|
version_requirements: !ruby/object:Gem::Requirement
|
130
136
|
requirements:
|
131
|
-
- - ~>
|
137
|
+
- - "~>"
|
132
138
|
- !ruby/object:Gem::Version
|
133
|
-
version: '3.
|
139
|
+
version: '3.20'
|
134
140
|
description: |-
|
135
141
|
Isolate is a very simple RubyGems sandbox. It provides a way to
|
136
142
|
express and automatically install your project's Gem dependencies.
|
@@ -145,8 +151,7 @@ extra_rdoc_files:
|
|
145
151
|
- Manifest.txt
|
146
152
|
- README.rdoc
|
147
153
|
files:
|
148
|
-
- .autotest
|
149
|
-
- .gemtest
|
154
|
+
- ".autotest"
|
150
155
|
- CHANGELOG.rdoc
|
151
156
|
- Manifest.txt
|
152
157
|
- README.rdoc
|
@@ -177,31 +182,27 @@ files:
|
|
177
182
|
homepage: http://github.com/jbarnette/isolate
|
178
183
|
licenses:
|
179
184
|
- MIT
|
180
|
-
metadata:
|
185
|
+
metadata:
|
186
|
+
homepage_uri: http://github.com/jbarnette/isolate
|
181
187
|
post_install_message:
|
182
188
|
rdoc_options:
|
183
|
-
- --main
|
189
|
+
- "--main"
|
184
190
|
- README.rdoc
|
185
191
|
require_paths:
|
186
192
|
- lib
|
187
193
|
required_ruby_version: !ruby/object:Gem::Requirement
|
188
194
|
requirements:
|
189
|
-
- -
|
195
|
+
- - ">="
|
190
196
|
- !ruby/object:Gem::Version
|
191
197
|
version: '0'
|
192
198
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
193
199
|
requirements:
|
194
|
-
- -
|
200
|
+
- - ">="
|
195
201
|
- !ruby/object:Gem::Version
|
196
202
|
version: 1.8.2
|
197
203
|
requirements: []
|
198
|
-
|
199
|
-
rubygems_version: 2.4.5
|
204
|
+
rubygems_version: 3.0.3
|
200
205
|
signing_key:
|
201
206
|
specification_version: 4
|
202
207
|
summary: Isolate is a very simple RubyGems sandbox
|
203
|
-
test_files:
|
204
|
-
- test/test_isolate.rb
|
205
|
-
- test/test_isolate_entry.rb
|
206
|
-
- test/test_isolate_events.rb
|
207
|
-
- test/test_isolate_sandbox.rb
|
208
|
+
test_files: []
|
metadata.gz.sig
CHANGED
Binary file
|
data/.gemtest
DELETED
File without changes
|