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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 9eb0b86b7c9ce1aab1cbedfbf3c01ef00ff877f9
4
- data.tar.gz: 8412225a996a3cb80dd4c7ae670482a668d696c9
2
+ SHA256:
3
+ metadata.gz: a900a23d0c2f0cc6a1008059a1f3617b676a1b6324d5a2df8dab6783017014a4
4
+ data.tar.gz: 6f5701b5ec22dff766cc996a8901c948c816f4c2a265c7d79e17c8252cbd0143
5
5
  SHA512:
6
- metadata.gz: eae8a1d01f76eed8a91b6e29e97637d56c249aece109005423bd226cfaf7aa20d24932dea359c510d34f618977143f6d6b672ace240278c2ce11aa9b10aa26c0
7
- data.tar.gz: 3b332100f7cf6963ffb47867030f51ca8895c3422f7bccc7cccaef0cfc73cebcf0c8f05f43609c7a79df2d5c65e2379acc6be47b7ff74edb9227ca42664a96d0
6
+ metadata.gz: a1be0a0b6c85184531c784afa2eccfc7de5ca8efde0aa407cf74c6dc6773ac8448d3cdf3c942a9d0a036d5c3bfcc310dc9f2ddb3e1a6b028658f6162e7173c1d
7
+ data.tar.gz: 12202665c1e1a13d941602a73094d81240d0911056119a3aced03675ef03cb63088a820619c8b66ae902016a8e683931b33b7b1bf31dcab8415488c88e6819b3
@@ -1,3 +1,3 @@
1
- ��Ab��f*��g��2;$�z��l犝�0}�ٓƁ����o����J,\T U�Ɋ��IM\��32�x�u��#C y�pD��������--V���H�$G����@q-�T���}�)6�<�ҕnũ��q���%M���@!S�B������Ո`����$>��M
2
-
3
- e`��&�qk#.���s �P������)��ҏ��v��%�<"eF'X���UL�6(����%�Hi��+�yf���}��-s-��e9*�M
1
+ Ft-��7$vc"D��$�gq�>���|��6l4#ðy�CGP�<�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��ߚ��˂��DO$-8<�ZC��\`�(R���u��
data.tar.gz.sig CHANGED
Binary file
@@ -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:
@@ -1,6 +1,6 @@
1
1
  = Isolate
2
2
 
3
- * http://github.com/jbarnette/isolate
3
+ home :: http://github.com/jbarnette/isolate
4
4
 
5
5
  == Description
6
6
 
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
@@ -8,7 +8,7 @@ module Isolate
8
8
 
9
9
  # Duh.
10
10
 
11
- VERSION = "3.3.1"
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 +true+.
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
@@ -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... is this just for 1.9.1?
148
- $LOAD_PATH.reject! do |p|
149
- p != isolate_lib && Gem.path.any? { |gp| p.include?(gp) }
150
- end
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
- fire :installed
250
+ def rebuild_extensions
251
+ broken = entries.find_all { |e|
252
+ e.specification && e.specification.missing_extensions?
253
+ }
238
254
 
239
- self
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, true
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
- unless @options.key?(:multiruby) && @options[:multiruby] == false
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
@@ -294,7 +294,7 @@ class TestIsolateSandbox < Isolate::Test
294
294
  assert s.install?
295
295
  assert s.system?
296
296
  assert s.verbose?
297
- assert s.multiruby?
297
+ refute s.multiruby?
298
298
  end
299
299
 
300
300
  def test_initialize_override_defaults
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.3.1
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
- MIIDPjCCAiagAwIBAgIBAjANBgkqhkiG9w0BAQUFADBFMRMwEQYDVQQDDApyeWFu
15
+ MIIDPjCCAiagAwIBAgIBBDANBgkqhkiG9w0BAQsFADBFMRMwEQYDVQQDDApyeWFu
16
16
  ZC1ydWJ5MRkwFwYKCZImiZPyLGQBGRYJemVuc3BpZGVyMRMwEQYKCZImiZPyLGQB
17
- GRYDY29tMB4XDTE0MDkxNzIzMDcwN1oXDTE1MDkxNzIzMDcwN1owRTETMBEGA1UE
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/hMA0GCSqGSIb3DQEBBQUAA4IB
27
- AQAFoDJRokCQdxFfOrmsKX41KOFlU/zjrbDVM9hgB/Ur999M6OXGSi8FitXNtMwY
28
- FVjsiAPeU7HaWVVcZkj6IhINelTkXsxgGz/qCzjHy3iUMuZWw36cS0fiWJ5rvH+e
29
- hD7uXxJSFuyf1riDGI1aeWbQ74WMwvNstOxLUMiV5a1fzBhlxPqb537ubDjq/M/h
30
- zPUFPVYeL5KjDHLCqI2FwIk2sEMOQgjpXHzl+3NlD2LUgUhHDMevmgVua0e2GT1B
31
- xJcC6UN6NHMOVMyAXsr2HR0gRRx4ofN1LoP2KhXzSr8UMvQYlwPmE0N5GQv1b5AO
32
- VpzF30vNaJK6ZT7xlIsIlwmH
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: 2015-02-02 00:00:00.000000000 Z
34
+ date: 2019-12-18 00:00:00.000000000 Z
35
35
  dependencies:
36
36
  - !ruby/object:Gem::Dependency
37
- name: minitest
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: '4.0'
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: '4.0'
49
+ version: '1.2'
64
50
  - !ruby/object:Gem::Dependency
65
- name: hoe-seattlerb
51
+ name: minitest
66
52
  requirement: !ruby/object:Gem::Requirement
67
53
  requirements:
68
- - - ~>
54
+ - - "~>"
69
55
  - !ruby/object:Gem::Version
70
- version: '1.2'
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: '1.2'
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.13'
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.13'
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
- rubyforge_project:
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