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