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.
@@ -1,3 +1,9 @@
1
+ === 1.7.0 / 2009-12-07
2
+
3
+ * Activate gems even in passthrough mode.
4
+ * hoe/isolate cleans up by default.
5
+ * Isolate#activate cleans up. Isolate.activate is a simple front-end.
6
+
1
7
  === 1.6.1 / 2009-10-04
2
8
 
3
9
  * Simplify subshells.
@@ -28,10 +28,9 @@ class Hoe # :nodoc:
28
28
  self.isolate_dir ||= "tmp/gems"
29
29
  end
30
30
 
31
- def define_isolate_tasks # :nodoc:
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
@@ -21,10 +21,9 @@ class Isolate
21
21
  end
22
22
  end
23
23
 
24
- VERSION = "1.6.1" # :nodoc:
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? || enabled?
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(requirements)
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
- def log s
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
@@ -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.6.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-10-04 00:00:00 -07:00
13
+ date: 2009-12-07 00:00:00 -08:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency