isolate 1.6.1 → 1.7.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.
- data/CHANGELOG.rdoc +6 -0
- data/lib/hoe/isolate.rb +2 -3
- data/lib/isolate.rb +14 -12
- data/test/test_isolate.rb +1 -2
- metadata +2 -2
data/CHANGELOG.rdoc
CHANGED
data/lib/hoe/isolate.rb
CHANGED
@@ -28,10 +28,9 @@ class Hoe # :nodoc:
|
|
28
28
|
self.isolate_dir ||= "tmp/gems"
|
29
29
|
end
|
30
30
|
|
31
|
-
def define_isolate_tasks #
|
32
|
-
i = ::Isolate.new self.isolate_dir
|
31
|
+
def define_isolate_tasks # HACK
|
32
|
+
i = ::Isolate.new self.isolate_dir, :cleanup => true
|
33
33
|
|
34
|
-
# TODO: consider sneakily adding test lib deps if they don't exist
|
35
34
|
(self.extra_deps + self.extra_dev_deps).each do |name, version|
|
36
35
|
i.gem name, *Array(version)
|
37
36
|
end
|
data/lib/isolate.rb
CHANGED
@@ -21,10 +21,9 @@ class Isolate
|
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
24
|
-
VERSION = "1.
|
24
|
+
VERSION = "1.7.0" # :nodoc:
|
25
25
|
|
26
26
|
attr_reader :entries # :nodoc:
|
27
|
-
|
28
27
|
attr_reader :path # :nodoc:
|
29
28
|
|
30
29
|
# Activate (and possibly install) gems for a specific
|
@@ -33,7 +32,6 @@ class Isolate
|
|
33
32
|
|
34
33
|
def self.activate environment
|
35
34
|
instance.activate environment
|
36
|
-
instance.cleanup if instance.cleanup?
|
37
35
|
end
|
38
36
|
|
39
37
|
# Declare an isolated RubyGems environment, installed in +path+. The
|
@@ -82,7 +80,6 @@ class Isolate
|
|
82
80
|
end
|
83
81
|
|
84
82
|
def activate environment = nil # :nodoc:
|
85
|
-
return self if passthrough?
|
86
83
|
enable unless enabled?
|
87
84
|
|
88
85
|
env = environment.to_s if environment
|
@@ -92,6 +89,8 @@ class Isolate
|
|
92
89
|
Gem.activate e.name, *e.requirement.as_list if e.matches? env
|
93
90
|
end
|
94
91
|
|
92
|
+
cleanup if cleanup?
|
93
|
+
|
95
94
|
self
|
96
95
|
end
|
97
96
|
|
@@ -126,8 +125,7 @@ class Isolate
|
|
126
125
|
end
|
127
126
|
|
128
127
|
def disable # :nodoc:
|
129
|
-
return self if passthrough?
|
130
|
-
return self unless enabled?
|
128
|
+
return self if passthrough? or not enabled?
|
131
129
|
|
132
130
|
ENV["GEM_PATH"] = @old_gem_path
|
133
131
|
ENV["GEM_HOME"] = @old_gem_home
|
@@ -139,11 +137,12 @@ class Isolate
|
|
139
137
|
@enabled = false
|
140
138
|
|
141
139
|
self.class.refresh
|
140
|
+
|
142
141
|
self
|
143
142
|
end
|
144
143
|
|
145
144
|
def enable # :nodoc:
|
146
|
-
return self if passthrough?
|
145
|
+
return self if passthrough? or enabled?
|
147
146
|
|
148
147
|
@old_gem_path = ENV["GEM_PATH"]
|
149
148
|
@old_gem_home = ENV["GEM_HOME"]
|
@@ -169,6 +168,7 @@ class Isolate
|
|
169
168
|
self.class.refresh
|
170
169
|
|
171
170
|
@enabled = true
|
171
|
+
|
172
172
|
self
|
173
173
|
end
|
174
174
|
|
@@ -197,17 +197,14 @@ class Isolate
|
|
197
197
|
requirement = if requirements.empty? then
|
198
198
|
Gem::Requirement.default
|
199
199
|
else
|
200
|
-
Gem::Requirement.new
|
200
|
+
Gem::Requirement.new requirements
|
201
201
|
end
|
202
202
|
|
203
203
|
entry = Entry.new name, requirement, @environments, options
|
204
204
|
|
205
205
|
entries << entry
|
206
|
-
entry
|
207
|
-
end
|
208
206
|
|
209
|
-
|
210
|
-
$stderr.puts s if verbose?
|
207
|
+
entry
|
211
208
|
end
|
212
209
|
|
213
210
|
def install environment = nil # :nodoc:
|
@@ -243,6 +240,7 @@ class Isolate
|
|
243
240
|
end
|
244
241
|
|
245
242
|
Gem.source_index.refresh!
|
243
|
+
|
246
244
|
self
|
247
245
|
end
|
248
246
|
|
@@ -250,6 +248,10 @@ class Isolate
|
|
250
248
|
@install
|
251
249
|
end
|
252
250
|
|
251
|
+
def log s # :nodoc:
|
252
|
+
$stderr.puts s if verbose?
|
253
|
+
end
|
254
|
+
|
253
255
|
def passthrough &block # :nodoc:
|
254
256
|
@passthrough = yield
|
255
257
|
end
|
data/test/test_isolate.rb
CHANGED
@@ -42,7 +42,7 @@ class TestIsolate < MiniTest::Unit::TestCase
|
|
42
42
|
end
|
43
43
|
|
44
44
|
def test_activate_environment
|
45
|
-
@isolate = Isolate.new WITH_HOE
|
45
|
+
@isolate = Isolate.new WITH_HOE, :verbose => false
|
46
46
|
@isolate.gem "rubyforge"
|
47
47
|
|
48
48
|
@isolate.environment "borg" do
|
@@ -99,7 +99,6 @@ class TestIsolate < MiniTest::Unit::TestCase
|
|
99
99
|
@isolate = Isolate.new WITH_HOE, :verbose => false
|
100
100
|
# no gems specified on purpose
|
101
101
|
@isolate.activate
|
102
|
-
@isolate.cleanup
|
103
102
|
|
104
103
|
expected = [["hoe", "2.3.3", WITH_HOE],
|
105
104
|
["rake", "0.8.7", WITH_HOE],
|
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: 1.
|
4
|
+
version: 1.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Barnette
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2009-
|
13
|
+
date: 2009-12-07 00:00:00 -08:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|