isolate 3.1.0.pre.3 → 3.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data.tar.gz.sig +2 -0
- data/.autotest +4 -0
- data/.gemtest +0 -0
- data/CHANGELOG.rdoc +42 -0
- data/Manifest.txt +1 -4
- data/README.rdoc +2 -2
- data/Rakefile +17 -7
- data/lib/hoe/isolate.rb +14 -7
- data/lib/isolate.rb +12 -4
- data/lib/isolate/entry.rb +19 -5
- data/lib/isolate/rake.rb +23 -14
- data/lib/isolate/sandbox.rb +73 -48
- data/test/fixtures/system/specifications/rcov-0.9.9.gemspec +31 -0
- data/test/fixtures/with-hoe/specifications/hoe-2.3.3.gemspec +0 -1
- data/test/fixtures/with-hoe/specifications/rake-0.8.7.gemspec +0 -1
- data/test/fixtures/with-hoe/specifications/rubyforge-1.0.4.gemspec +0 -1
- data/test/isolate/test.rb +7 -3
- data/test/test_isolate.rb +4 -1
- data/test/test_isolate_entry.rb +1 -1
- data/test/test_isolate_sandbox.rb +94 -19
- metadata +102 -39
- metadata.gz.sig +0 -0
- data/.rvmrc +0 -2
- data/Isolate +0 -5
- data/lib/isolate/completely.rb +0 -4
- data/lib/isolate/installer.rb +0 -15
data.tar.gz.sig
ADDED
data/.autotest
CHANGED
data/.gemtest
ADDED
File without changes
|
data/CHANGELOG.rdoc
CHANGED
@@ -1,3 +1,45 @@
|
|
1
|
+
=== 3.1.0 / 2011-05-19
|
2
|
+
|
3
|
+
* 4 minor enhancements:
|
4
|
+
|
5
|
+
* Added ZenTest as a development dependency so rake multi works in isolation.
|
6
|
+
* Added rake task git:freshen to forcefully remove stale gems.
|
7
|
+
* Extracted remove from cleanup method so rake tasks can use remove.
|
8
|
+
* Switched to minitest plugin in hoe spec
|
9
|
+
|
10
|
+
* 6 bug fixes:
|
11
|
+
|
12
|
+
* Fixed 1.9.x warnings
|
13
|
+
* Fixed a test broken only in isolation from hoe itself.
|
14
|
+
* Fixed an enumeration bug caused by my not running `rake multi` sooner. (Eric Wong)
|
15
|
+
* Fixed requirements in readme.
|
16
|
+
* Hoe plugin now properly adds development dependencies.
|
17
|
+
* Hoe plugin now properly uses (and possibly defines) the Isolate.sandbox.
|
18
|
+
|
19
|
+
=== 3.0.2 / 2011-05-14
|
20
|
+
|
21
|
+
* 3 bug fixes:
|
22
|
+
|
23
|
+
* Cleanup shouldn't try to uninstall specs outside of our sandbox.
|
24
|
+
* Pass spec.base_dir to the uninstaller during cleanup.
|
25
|
+
* We shouldn't manipulate Gem.path, but if we do, we should be smart/clean about it.
|
26
|
+
|
27
|
+
=== 3.0.1 / 2011-05-11
|
28
|
+
|
29
|
+
* 6 minor enhancements:
|
30
|
+
|
31
|
+
* Added Entry#to_s and #inspect to make it much more readable.
|
32
|
+
* Added Isolate.sandbox= and used it from Hoe::Isolate plugin.
|
33
|
+
* Deprecated Sandbox#index.
|
34
|
+
* Entry#specification now returns nil if it doesn't resolve to anything.
|
35
|
+
* Refactored Sandbox's default path so that tests won't collide with our Rakefile.
|
36
|
+
* We now require rubygems >= 1.8.2.
|
37
|
+
|
38
|
+
* 2 bug fixes:
|
39
|
+
|
40
|
+
* Cleaned up all warnings caused by rubygems 1.8 deprecations.
|
41
|
+
* Fixed Sandbox#legitimize! to properly deal with Gem::Dependency.
|
42
|
+
|
1
43
|
=== 3.0.0 / 2010-10-19
|
2
44
|
|
3
45
|
* Remove deprecated Isolate.{gems,instance} methods.
|
data/Manifest.txt
CHANGED
@@ -1,16 +1,12 @@
|
|
1
1
|
.autotest
|
2
|
-
.rvmrc
|
3
2
|
CHANGELOG.rdoc
|
4
|
-
Isolate
|
5
3
|
Manifest.txt
|
6
4
|
README.rdoc
|
7
5
|
Rakefile
|
8
6
|
lib/hoe/isolate.rb
|
9
7
|
lib/isolate.rb
|
10
|
-
lib/isolate/completely.rb
|
11
8
|
lib/isolate/entry.rb
|
12
9
|
lib/isolate/events.rb
|
13
|
-
lib/isolate/installer.rb
|
14
10
|
lib/isolate/now.rb
|
15
11
|
lib/isolate/rake.rb
|
16
12
|
lib/isolate/sandbox.rb
|
@@ -18,6 +14,7 @@ test/fixtures/blort-0.0.gem
|
|
18
14
|
test/fixtures/isolate.rb
|
19
15
|
test/fixtures/override.rb
|
20
16
|
test/fixtures/override.rb.local
|
17
|
+
test/fixtures/system/specifications/rcov-0.9.9.gemspec
|
21
18
|
test/fixtures/with-hoe/specifications/hoe-2.3.3.gemspec
|
22
19
|
test/fixtures/with-hoe/specifications/rake-0.8.7.gemspec
|
23
20
|
test/fixtures/with-hoe/specifications/rubyforge-1.0.4.gemspec
|
data/README.rdoc
CHANGED
@@ -21,7 +21,7 @@ and is probably a better fit for you.
|
|
21
21
|
|
22
22
|
== Requirements
|
23
23
|
|
24
|
-
RubyGems 1.
|
24
|
+
RubyGems 1.8.2 or better, Ruby 1.8.7 or better.
|
25
25
|
|
26
26
|
== Getting Started
|
27
27
|
|
@@ -83,7 +83,7 @@ your lib's development, runtime, and test dependencies without
|
|
83
83
|
polluting your system RubyGems, and run your tests/specs in total
|
84
84
|
isolation.
|
85
85
|
|
86
|
-
Assuming you have a recent Hoe and
|
86
|
+
Assuming you have a recent Hoe and Isolate is installed, it's as simple
|
87
87
|
as putting:
|
88
88
|
|
89
89
|
Hoe.plugin :isolate
|
data/Rakefile
CHANGED
@@ -1,20 +1,30 @@
|
|
1
|
-
|
2
|
-
require "isolate/now"
|
3
|
-
|
1
|
+
require "rubygems"
|
4
2
|
require "hoe"
|
5
3
|
|
4
|
+
$:.unshift "lib"
|
5
|
+
require "isolate/rake"
|
6
|
+
|
7
|
+
# TODO: build sandboxing into rubygems and make it a first class citizen in Hoe
|
8
|
+
Isolate.now! :system => false do
|
9
|
+
env "development" do
|
10
|
+
gem "hoe-seattlerb", "> 0"
|
11
|
+
gem "minitest", "~> 2.1"
|
12
|
+
gem "hoe-doofus", "~> 1.0.0"
|
13
|
+
gem "hoe-git", "~> 1.3"
|
14
|
+
gem "ZenTest", "~> 4.5"
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
6
18
|
Hoe.plugins.delete :rubyforge
|
7
|
-
Hoe.plugin :doofus, :git, :
|
19
|
+
Hoe.plugin :isolate, :doofus, :git, :minitest
|
8
20
|
|
9
21
|
Hoe.spec "isolate" do
|
10
22
|
developer "John Barnette", "code@jbarnette.com"
|
11
23
|
developer "Ryan Davis", "ryand-ruby@zenspider.com"
|
12
24
|
|
13
|
-
|
14
|
-
require_rubygems_version ">= 1.3.6"
|
25
|
+
require_rubygems_version ">= 1.8.2"
|
15
26
|
|
16
27
|
self.extra_rdoc_files = Dir["*.rdoc"]
|
17
28
|
self.history_file = "CHANGELOG.rdoc"
|
18
29
|
self.readme_file = "README.rdoc"
|
19
|
-
self.testlib = :minitest
|
20
30
|
end
|
data/lib/hoe/isolate.rb
CHANGED
@@ -28,9 +28,10 @@ class Hoe # :nodoc:
|
|
28
28
|
Hoe.plugins.unshift Hoe.plugins.delete(:isolate)
|
29
29
|
|
30
30
|
self.isolate_dir ||= "tmp/isolate"
|
31
|
-
@sandbox = ::Isolate::Sandbox.new
|
32
31
|
|
33
|
-
|
32
|
+
::Isolate.sandbox ||= ::Isolate::Sandbox.new
|
33
|
+
|
34
|
+
::Isolate.sandbox.entries.each do |entry|
|
34
35
|
dep = [entry.name, *entry.requirement.as_list]
|
35
36
|
|
36
37
|
if entry.environments.include? "development"
|
@@ -42,16 +43,22 @@ class Hoe # :nodoc:
|
|
42
43
|
end
|
43
44
|
|
44
45
|
def define_isolate_tasks # HACK
|
46
|
+
sandbox = ::Isolate.sandbox
|
45
47
|
|
46
48
|
# reset, now that they've had a chance to change it
|
47
|
-
|
49
|
+
sandbox.options :path => isolate_dir, :system => false
|
50
|
+
|
51
|
+
self.extra_deps.each do |name, version|
|
52
|
+
sandbox.gem name, *Array(version)
|
53
|
+
end
|
48
54
|
|
49
|
-
|
50
|
-
|
51
|
-
|
55
|
+
self.extra_dev_deps.each do |name, version|
|
56
|
+
sandbox.env "development" do
|
57
|
+
sandbox.gem name, *Array(version)
|
58
|
+
end
|
52
59
|
end
|
53
60
|
|
54
|
-
|
61
|
+
sandbox.activate
|
55
62
|
end
|
56
63
|
end
|
57
64
|
end
|
data/lib/isolate.rb
CHANGED
@@ -8,7 +8,7 @@ module Isolate
|
|
8
8
|
|
9
9
|
# Duh.
|
10
10
|
|
11
|
-
VERSION = "3.1.0
|
11
|
+
VERSION = "3.1.0"
|
12
12
|
|
13
13
|
# Disable Isolate. If a block is provided, isolation will be
|
14
14
|
# disabled for the scope of the block.
|
@@ -34,6 +34,13 @@ module Isolate
|
|
34
34
|
@@sandbox
|
35
35
|
end
|
36
36
|
|
37
|
+
# Set the singleton. Intended for Hoe::Isolate and other tools that
|
38
|
+
# make their own.
|
39
|
+
|
40
|
+
def self.sandbox= o
|
41
|
+
@@sandbox = o
|
42
|
+
end
|
43
|
+
|
37
44
|
# Declare an isolated RubyGems environment, installed in +path+. Any
|
38
45
|
# block given will be <tt>instance_eval</tt>ed, see
|
39
46
|
# Isolate::Sandbox#gem and Isolate::Sandbox#environment for the sort
|
@@ -70,10 +77,11 @@ module Isolate
|
|
70
77
|
end
|
71
78
|
|
72
79
|
# Poke RubyGems, since we've probably monkeyed with a bunch of paths
|
73
|
-
# and suchlike.
|
80
|
+
# and suchlike. Clears paths, loaded specs, and source indexes.
|
74
81
|
|
75
82
|
def self.refresh # :nodoc:
|
76
|
-
|
77
|
-
Gem.
|
83
|
+
Gem.loaded_specs.clear
|
84
|
+
Gem.clear_paths
|
85
|
+
Gem::Specification.reset
|
78
86
|
end
|
79
87
|
end
|
data/lib/isolate/entry.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
require "isolate/events"
|
2
|
-
require "isolate/installer"
|
3
2
|
require "rubygems"
|
4
3
|
require "rubygems/command"
|
5
4
|
require "rubygems/dependency_installer"
|
@@ -68,7 +67,9 @@ module Isolate
|
|
68
67
|
|
69
68
|
def activate
|
70
69
|
fire :activating, :activated do
|
71
|
-
|
70
|
+
spec = self.specification
|
71
|
+
raise Gem::LoadError, "Couldn't resolve: #{self}" unless spec
|
72
|
+
spec.activate
|
72
73
|
end
|
73
74
|
end
|
74
75
|
|
@@ -80,7 +81,12 @@ module Isolate
|
|
80
81
|
|
81
82
|
begin
|
82
83
|
fire :installing, :installed do
|
83
|
-
|
84
|
+
|
85
|
+
installer =
|
86
|
+
Gem::DependencyInstaller.new(:development => false,
|
87
|
+
:generate_rdoc => false,
|
88
|
+
:generate_ri => false,
|
89
|
+
:install_dir => @sandbox.path)
|
84
90
|
|
85
91
|
Gem.sources += Array(options[:source]) if options[:source]
|
86
92
|
Gem::Command.build_args = Array(options[:args]) if options[:args]
|
@@ -106,10 +112,12 @@ module Isolate
|
|
106
112
|
name == spec.name and requirement.satisfied_by? spec.version
|
107
113
|
end
|
108
114
|
|
109
|
-
# The Gem::Specification for this entry.
|
115
|
+
# The Gem::Specification for this entry or nil if it isn't resolveable.
|
110
116
|
|
111
117
|
def specification
|
112
|
-
Gem.
|
118
|
+
Gem::Specification.find_by_name(name, requirement)
|
119
|
+
rescue Gem::LoadError
|
120
|
+
nil
|
113
121
|
end
|
114
122
|
|
115
123
|
# Updates this entry's environments, options, and
|
@@ -125,5 +133,11 @@ module Isolate
|
|
125
133
|
|
126
134
|
self
|
127
135
|
end
|
136
|
+
|
137
|
+
def to_s
|
138
|
+
"Entry[#{name.inspect}, #{requirement.to_s.inspect}]"
|
139
|
+
end
|
140
|
+
|
141
|
+
alias :inspect :to_s
|
128
142
|
end
|
129
143
|
end
|
data/lib/isolate/rake.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require "isolate"
|
2
|
+
|
1
3
|
namespace :isolate do
|
2
4
|
desc "Show current isolated environment."
|
3
5
|
task :env do
|
@@ -48,22 +50,14 @@ namespace :isolate do
|
|
48
50
|
|
49
51
|
desc "Which isolated gems have updates available?"
|
50
52
|
task :stale do
|
51
|
-
require "rubygems/source_index"
|
52
|
-
require "rubygems/spec_fetcher"
|
53
|
-
|
54
|
-
index = Gem::SourceIndex.new
|
55
53
|
outdated = []
|
54
|
+
sandbox = Isolate.sandbox
|
55
|
+
outdated = sandbox.entries.reject { |entry| entry.specification }
|
56
56
|
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
outdated << entry
|
62
|
-
end
|
63
|
-
end
|
64
|
-
|
65
|
-
index.outdated.each do |name|
|
66
|
-
outdated << Isolate.sandbox.entries.find { |e| e.name == name }
|
57
|
+
Gem::Specification.outdated.each do |name|
|
58
|
+
entry = sandbox.entries.find { |e| e.name == name }
|
59
|
+
next unless entry
|
60
|
+
outdated << entry
|
67
61
|
end
|
68
62
|
|
69
63
|
outdated.sort_by { |e| e.name }.each do |entry|
|
@@ -75,4 +69,19 @@ namespace :isolate do
|
|
75
69
|
puts "#{entry.name} (#{local} < #{remote})"
|
76
70
|
end
|
77
71
|
end
|
72
|
+
|
73
|
+
desc "Removes gems that have updates available"
|
74
|
+
task :freshen do
|
75
|
+
outdated = []
|
76
|
+
sandbox = Isolate.sandbox
|
77
|
+
extra = sandbox.entries.reject { |entry| entry.specification }
|
78
|
+
|
79
|
+
Gem::Specification.outdated.each do |name|
|
80
|
+
entry = sandbox.entries.find { |e| e.name == name }
|
81
|
+
next unless entry
|
82
|
+
extra << entry.specification
|
83
|
+
end
|
84
|
+
|
85
|
+
sandbox.remove(*extra)
|
86
|
+
end
|
78
87
|
end
|
data/lib/isolate/sandbox.rb
CHANGED
@@ -4,6 +4,7 @@ require "isolate/events"
|
|
4
4
|
require "rbconfig"
|
5
5
|
require "rubygems/defaults"
|
6
6
|
require "rubygems/uninstaller"
|
7
|
+
require "rubygems/deprecate"
|
7
8
|
|
8
9
|
module Isolate
|
9
10
|
|
@@ -13,6 +14,8 @@ module Isolate
|
|
13
14
|
class Sandbox
|
14
15
|
include Events
|
15
16
|
|
17
|
+
DEFAULT_PATH = "tmp/isolate" # :nodoc:
|
18
|
+
|
16
19
|
attr_reader :entries # :nodoc:
|
17
20
|
attr_reader :environments # :nodoc:
|
18
21
|
attr_reader :files # :nodoc:
|
@@ -83,26 +86,14 @@ module Isolate
|
|
83
86
|
def cleanup # :nodoc:
|
84
87
|
fire :cleaning
|
85
88
|
|
86
|
-
installed =
|
89
|
+
installed = Gem::Specification.map.to_a
|
87
90
|
legit = legitimize!
|
88
91
|
extra = installed - legit
|
89
92
|
|
90
|
-
|
91
|
-
|
92
|
-
format = "[%0#{padding}d/%s] Nuking %s."
|
93
|
+
gem_dir = Gem.dir
|
94
|
+
extra.reject! { |s| s.base_dir != gem_dir }
|
93
95
|
|
94
|
-
|
95
|
-
log format % [i + 1, extra.size, e.full_name]
|
96
|
-
|
97
|
-
Gem::DefaultUserInteraction.use_ui Gem::SilentUI.new do
|
98
|
-
Gem::Uninstaller.new(e.name,
|
99
|
-
:version => e.version,
|
100
|
-
:ignore => true,
|
101
|
-
:executables => true,
|
102
|
-
:install_dir => path).uninstall
|
103
|
-
end
|
104
|
-
end
|
105
|
-
end
|
96
|
+
self.remove(*extra)
|
106
97
|
|
107
98
|
fire :cleaned
|
108
99
|
end
|
@@ -116,12 +107,11 @@ module Isolate
|
|
116
107
|
fire :disabling
|
117
108
|
|
118
109
|
ENV.replace @old_env
|
110
|
+
$LOAD_PATH.replace @old_load_path
|
119
111
|
|
120
112
|
@enabled = false
|
121
113
|
|
122
|
-
|
123
|
-
Gem.refresh
|
124
|
-
|
114
|
+
Isolate.refresh
|
125
115
|
fire :disabled
|
126
116
|
|
127
117
|
begin; return yield ensure enable end if block_given?
|
@@ -133,20 +123,31 @@ module Isolate
|
|
133
123
|
return self if enabled?
|
134
124
|
fire :enabling
|
135
125
|
|
136
|
-
@old_env
|
126
|
+
@old_env = ENV.to_hash
|
127
|
+
@old_load_path = $LOAD_PATH.dup
|
128
|
+
|
129
|
+
path = self.path
|
130
|
+
|
131
|
+
FileUtils.mkdir_p path
|
132
|
+
ENV["GEM_HOME"] = path
|
137
133
|
|
138
134
|
unless system?
|
135
|
+
isolate_lib = File.expand_path "../..", __FILE__
|
136
|
+
|
137
|
+
# manually deactivate pre-isolate gems... is this just for 1.9.1?
|
138
|
+
$LOAD_PATH.reject! do |p|
|
139
|
+
p != isolate_lib && Gem.path.any? { |gp| p.include?(gp) }
|
140
|
+
end
|
139
141
|
|
140
142
|
# HACK: Gotta keep isolate explicitly in the LOAD_PATH in
|
141
143
|
# subshells, and the only way I can think of to do that is by
|
142
144
|
# abusing RUBYOPT.
|
143
145
|
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
unless ENV["RUBYOPT"] =~ /\s+-I\s*#{lib}\b/
|
148
|
-
ENV["RUBYOPT"] = "#{ENV['RUBYOPT']} -I#{lib}"
|
146
|
+
unless ENV["RUBYOPT"] =~ /\s+-I\s*#{Regexp.escape isolate_lib}\b/
|
147
|
+
ENV["RUBYOPT"] = "#{ENV['RUBYOPT']} -I#{isolate_lib}"
|
149
148
|
end
|
149
|
+
|
150
|
+
ENV["GEM_PATH"] = path
|
150
151
|
end
|
151
152
|
|
152
153
|
bin = File.join path, "bin"
|
@@ -155,19 +156,13 @@ module Isolate
|
|
155
156
|
ENV["PATH"] = [bin, ENV["PATH"]].join File::PATH_SEPARATOR
|
156
157
|
end
|
157
158
|
|
158
|
-
paths = (ENV["GEM_PATH"] || "").split File::PATH_SEPARATOR
|
159
|
-
paths.push Gem.dir
|
160
|
-
|
161
|
-
paths.clear unless system?
|
162
|
-
paths.push path
|
163
|
-
|
164
|
-
Gem.clear_paths
|
165
|
-
|
166
|
-
ENV["GEM_HOME"] = path
|
167
|
-
ENV["GEM_PATH"] = paths.uniq.join File::PATH_SEPARATOR
|
168
159
|
ENV["ISOLATED"] = path
|
169
160
|
|
170
|
-
|
161
|
+
if system? then
|
162
|
+
Gem.path.unshift path # HACK: this is just wrong!
|
163
|
+
Gem.path.uniq! # HACK: needed for the previous line :(
|
164
|
+
end
|
165
|
+
Isolate.refresh
|
171
166
|
|
172
167
|
@enabled = true
|
173
168
|
fire :enabled
|
@@ -214,23 +209,19 @@ module Isolate
|
|
214
209
|
fire :installing
|
215
210
|
|
216
211
|
installable = entries.select do |e|
|
217
|
-
|
218
|
-
e.matches?(environment)
|
212
|
+
not e.specification && e.matches?(environment)
|
219
213
|
end
|
220
214
|
|
221
215
|
unless installable.empty?
|
222
216
|
padding = Math.log10(installable.size).to_i + 1
|
223
217
|
format = "[%0#{padding}d/%s] Isolating %s (%s)."
|
224
218
|
|
225
|
-
FileUtils.mkdir_p path
|
226
|
-
|
227
219
|
installable.each_with_index do |entry, i|
|
228
220
|
log format % [i + 1, installable.size, entry.name, entry.requirement]
|
229
221
|
entry.install
|
230
|
-
|
231
|
-
index.refresh!
|
232
|
-
Gem.source_index.refresh!
|
233
222
|
end
|
223
|
+
|
224
|
+
Gem::Specification.reset
|
234
225
|
end
|
235
226
|
|
236
227
|
fire :installed
|
@@ -251,7 +242,6 @@ module Isolate
|
|
251
242
|
$stderr.puts s if verbose?
|
252
243
|
end
|
253
244
|
|
254
|
-
|
255
245
|
def multiruby?
|
256
246
|
@options.fetch :multiruby, true
|
257
247
|
end
|
@@ -262,7 +252,7 @@ module Isolate
|
|
262
252
|
end
|
263
253
|
|
264
254
|
def path
|
265
|
-
base = @options.fetch :path,
|
255
|
+
base = @options.fetch :path, DEFAULT_PATH
|
266
256
|
|
267
257
|
unless @options.key?(:multiruby) && @options[:multiruby] == false
|
268
258
|
suffix = "#{Gem.ruby_engine}-#{RbConfig::CONFIG['ruby_version']}"
|
@@ -272,6 +262,27 @@ module Isolate
|
|
272
262
|
File.expand_path base
|
273
263
|
end
|
274
264
|
|
265
|
+
def remove(*extra)
|
266
|
+
unless extra.empty?
|
267
|
+
padding = Math.log10(extra.size).to_i + 1
|
268
|
+
format = "[%0#{padding}d/%s] Nuking %s."
|
269
|
+
|
270
|
+
extra.each_with_index do |e, i|
|
271
|
+
log format % [i + 1, extra.size, e.full_name]
|
272
|
+
|
273
|
+
Gem::DefaultUserInteraction.use_ui Gem::SilentUI.new do
|
274
|
+
uninstaller =
|
275
|
+
Gem::Uninstaller.new(e.name,
|
276
|
+
:version => e.version,
|
277
|
+
:ignore => true,
|
278
|
+
:executables => true,
|
279
|
+
:install_dir => e.base_dir)
|
280
|
+
uninstaller.uninstall
|
281
|
+
end
|
282
|
+
end
|
283
|
+
end
|
284
|
+
end
|
285
|
+
|
275
286
|
def system?
|
276
287
|
@options.fetch :system, true
|
277
288
|
end
|
@@ -291,9 +302,20 @@ module Isolate
|
|
291
302
|
specs = []
|
292
303
|
|
293
304
|
deps.flatten.each do |dep|
|
294
|
-
spec =
|
295
|
-
|
296
|
-
|
305
|
+
spec = case dep
|
306
|
+
when Gem::Dependency then
|
307
|
+
begin
|
308
|
+
dep.to_spec
|
309
|
+
rescue Gem::LoadError
|
310
|
+
nil
|
311
|
+
end
|
312
|
+
when Isolate::Entry then
|
313
|
+
dep.specification
|
314
|
+
else
|
315
|
+
raise "unknown dep: #{dep.inspect}"
|
316
|
+
end
|
317
|
+
|
318
|
+
if spec then
|
297
319
|
specs.concat legitimize!(spec.runtime_dependencies)
|
298
320
|
specs << spec
|
299
321
|
end
|
@@ -301,5 +323,8 @@ module Isolate
|
|
301
323
|
|
302
324
|
specs.uniq
|
303
325
|
end
|
326
|
+
|
327
|
+
extend Deprecate
|
328
|
+
deprecate :index, :none, 2011, 11
|
304
329
|
end
|
305
330
|
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
|
3
|
+
Gem::Specification.new do |s|
|
4
|
+
s.name = %q{rcov}
|
5
|
+
s.version = "0.9.9"
|
6
|
+
|
7
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
|
+
s.authors = [%q{Relevance}, %q{Chad Humphries (spicycode)}, %q{Aaron Bedra (abedra)}, %q{Jay McGaffigan(hooligan495)}, %q{Mauricio Fernandez}]
|
9
|
+
s.cert_chain = nil
|
10
|
+
s.date = %q{2009-12-28}
|
11
|
+
s.description = %q{rcov is a code coverage tool for Ruby. It is commonly used for viewing overall test unit coverage of target code. It features fast execution (20-300 times faster than previous tools), multiple analysis modes, XHTML and several kinds of text reports, easy automation with Rake via a RcovTask, fairly accurate coverage information through code linkage inference using simple heuristics, colorblind-friendliness...}
|
12
|
+
s.email = %q{opensource@thinkrelevance.com}
|
13
|
+
s.executables = [%q{rcov}]
|
14
|
+
s.extensions = [%q{ext/rcovrt/extconf.rb}]
|
15
|
+
s.files = [%q{bin/rcov}, %q{ext/rcovrt/extconf.rb}]
|
16
|
+
s.homepage = %q{http://github.com/relevance/rcov}
|
17
|
+
s.rdoc_options = [%q{--title}, %q{rcov code coverage tool}]
|
18
|
+
s.require_paths = [%q{lib}]
|
19
|
+
s.required_ruby_version = Gem::Requirement.new("> 0.0.0")
|
20
|
+
s.rubygems_version = %q{1.8.2}
|
21
|
+
s.summary = %q{Code coverage analysis tool for Ruby}
|
22
|
+
|
23
|
+
if s.respond_to? :specification_version then
|
24
|
+
s.specification_version = 1
|
25
|
+
|
26
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
27
|
+
else
|
28
|
+
end
|
29
|
+
else
|
30
|
+
end
|
31
|
+
end
|
@@ -7,7 +7,6 @@ Gem::Specification.new do |s|
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.3.1") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Ryan Davis"]
|
9
9
|
s.date = %q{2009-08-07}
|
10
|
-
s.default_executable = %q{sow}
|
11
10
|
s.description = %q{Hoe is a rake/rubygems helper for project Rakefiles. It helps generate
|
12
11
|
rubygems and includes a dynamic plug-in system allowing for easy
|
13
12
|
extensibility. Hoe ships with plug-ins for all your usual project
|
@@ -7,7 +7,6 @@ Gem::Specification.new do |s|
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Jim Weirich"]
|
9
9
|
s.date = %q{2009-05-14}
|
10
|
-
s.default_executable = %q{rake}
|
11
10
|
s.description = %q{Rake is a Make-like program implemented in Ruby. Tasks and dependencies are specified in standard Ruby syntax.}
|
12
11
|
s.email = %q{jim@weirichhouse.org}
|
13
12
|
s.executables = ["rake"]
|
@@ -7,7 +7,6 @@ Gem::Specification.new do |s|
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Ryan Davis", "Eric Hodel", "Ara T Howard"]
|
9
9
|
s.date = %q{2009-07-21}
|
10
|
-
s.default_executable = %q{rubyforge}
|
11
10
|
s.description = %q{A script which automates a limited set of rubyforge operations.
|
12
11
|
|
13
12
|
* Run 'rubyforge help' for complete usage.
|
data/test/isolate/test.rb
CHANGED
@@ -1,10 +1,14 @@
|
|
1
1
|
require "isolate"
|
2
2
|
require "minitest/autorun"
|
3
3
|
|
4
|
+
ENV.delete "RUBYOPT" # Rakefile uses isolate, so we don't want this
|
5
|
+
|
4
6
|
module Isolate
|
7
|
+
Sandbox::DEFAULT_PATH.replace "tmp/test" # change isolate dir for testing
|
8
|
+
|
5
9
|
class Test < MiniTest::Unit::TestCase
|
6
10
|
def setup
|
7
|
-
|
11
|
+
Isolate.refresh
|
8
12
|
|
9
13
|
@env = ENV.to_hash
|
10
14
|
@lp = $LOAD_PATH.dup
|
@@ -19,7 +23,7 @@ module Isolate
|
|
19
23
|
$LOAD_PATH.replace @lp
|
20
24
|
$LOADED_FEATURES.replace @lf
|
21
25
|
|
22
|
-
FileUtils.rm_rf "tmp/
|
26
|
+
FileUtils.rm_rf "tmp/test"
|
23
27
|
end
|
24
28
|
end
|
25
29
|
end
|
@@ -42,7 +46,7 @@ end
|
|
42
46
|
class Gem::Uninstaller
|
43
47
|
extend BrutalStub
|
44
48
|
|
45
|
-
attr_reader :gem, :version
|
49
|
+
attr_reader :gem, :version
|
46
50
|
alias old_uninstall uninstall
|
47
51
|
|
48
52
|
def uninstall
|
data/test/test_isolate.rb
CHANGED
@@ -31,7 +31,10 @@ class TestIsolate < Isolate::Test
|
|
31
31
|
def test_self_now!
|
32
32
|
assert_nil Isolate.sandbox
|
33
33
|
|
34
|
-
Isolate.now!
|
34
|
+
Isolate.now!(:path => WITH_HOE,
|
35
|
+
:multiruby => false,
|
36
|
+
:system => false,
|
37
|
+
:verbose => false) do
|
35
38
|
gem "hoe"
|
36
39
|
end
|
37
40
|
|
data/test/test_isolate_entry.rb
CHANGED
@@ -2,6 +2,7 @@ require "isolate/test"
|
|
2
2
|
|
3
3
|
class TestIsolateSandbox < Isolate::Test
|
4
4
|
WITH_HOE = "test/fixtures/with-hoe"
|
5
|
+
SYSTEM = "test/fixtures/system"
|
5
6
|
|
6
7
|
def setup
|
7
8
|
@sandbox = sandbox
|
@@ -55,15 +56,72 @@ class TestIsolateSandbox < Isolate::Test
|
|
55
56
|
# TODO: cleanup with 2 versions of same gem, 1 activated
|
56
57
|
# TODO: install with 1 older version, 1 new gem to be installed
|
57
58
|
|
58
|
-
def
|
59
|
-
|
60
|
-
|
59
|
+
def test_cleanup_all
|
60
|
+
with_env_setup do
|
61
|
+
s = sandbox :path => WITH_HOE, :install => true, :cleanup => true
|
61
62
|
|
62
|
-
|
63
|
-
|
64
|
-
|
63
|
+
assert_silent do
|
64
|
+
s.activate # no gems on purpose
|
65
|
+
end
|
66
|
+
|
67
|
+
expected = [["hoe", "2.3.3", WITH_HOE],
|
68
|
+
["rake", "0.8.7", WITH_HOE],
|
69
|
+
["rubyforge", "1.0.4", WITH_HOE]]
|
65
70
|
|
66
|
-
|
71
|
+
assert_equal expected, Gem::Uninstaller.value
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
def test_cleanup_all_system
|
76
|
+
with_env_setup do
|
77
|
+
s = sandbox(:path => WITH_HOE, :install => true, :cleanup => true,
|
78
|
+
:system => true)
|
79
|
+
|
80
|
+
assert_silent do
|
81
|
+
s.activate # no gems on purpose
|
82
|
+
end
|
83
|
+
|
84
|
+
expected = [["hoe", "2.3.3", WITH_HOE],
|
85
|
+
["rake", "0.8.7", WITH_HOE],
|
86
|
+
["rubyforge", "1.0.4", WITH_HOE]]
|
87
|
+
|
88
|
+
assert_equal expected, Gem::Uninstaller.value.sort
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
def test_cleanup_partial
|
93
|
+
with_env_setup do
|
94
|
+
s = sandbox :path => WITH_HOE, :install => true, :cleanup => true
|
95
|
+
|
96
|
+
s.gem "rake", "0.8.7"
|
97
|
+
|
98
|
+
assert_silent do
|
99
|
+
s.activate
|
100
|
+
end
|
101
|
+
|
102
|
+
expected = [["hoe", "2.3.3", WITH_HOE],
|
103
|
+
["rubyforge", "1.0.4", WITH_HOE]]
|
104
|
+
|
105
|
+
assert_equal expected, Gem::Uninstaller.value
|
106
|
+
end
|
107
|
+
end
|
108
|
+
|
109
|
+
def test_cleanup_partial_system
|
110
|
+
with_env_setup do
|
111
|
+
s = sandbox(:path => WITH_HOE, :install => true, :cleanup => true,
|
112
|
+
:system => true)
|
113
|
+
|
114
|
+
s.gem "rake", "0.8.7"
|
115
|
+
|
116
|
+
assert_silent do
|
117
|
+
s.activate
|
118
|
+
end
|
119
|
+
|
120
|
+
expected = [["hoe", "2.3.3", WITH_HOE],
|
121
|
+
["rubyforge", "1.0.4", WITH_HOE]]
|
122
|
+
|
123
|
+
assert_equal expected, Gem::Uninstaller.value.sort
|
124
|
+
end
|
67
125
|
end
|
68
126
|
|
69
127
|
def test_disable
|
@@ -88,8 +146,8 @@ class TestIsolateSandbox < Isolate::Test
|
|
88
146
|
end
|
89
147
|
|
90
148
|
def test_enable
|
91
|
-
refute_empty Gem.find_files("
|
92
|
-
"There's a
|
149
|
+
refute_empty Gem.find_files("rake.rb"),
|
150
|
+
"There's a rake.rb somewhere in the current env."
|
93
151
|
|
94
152
|
assert_same @sandbox, @sandbox.enable
|
95
153
|
|
@@ -113,6 +171,8 @@ class TestIsolateSandbox < Isolate::Test
|
|
113
171
|
end
|
114
172
|
|
115
173
|
def test_idempotent_rubyopt_env
|
174
|
+
assert_nil ENV["RUBYOPT"], "sanity check to make sure ENV isn't infecting"
|
175
|
+
|
116
176
|
@sandbox.enable
|
117
177
|
rubyopt = ENV["RUBYOPT"]
|
118
178
|
@sandbox.disable
|
@@ -189,7 +249,7 @@ class TestIsolateSandbox < Isolate::Test
|
|
189
249
|
|
190
250
|
assert_equal [], s.entries
|
191
251
|
assert_equal [], s.environments
|
192
|
-
assert_match(/tmp\/
|
252
|
+
assert_match(/tmp\/test/, s.path)
|
193
253
|
|
194
254
|
assert s.cleanup?
|
195
255
|
assert s.install?
|
@@ -199,9 +259,12 @@ class TestIsolateSandbox < Isolate::Test
|
|
199
259
|
end
|
200
260
|
|
201
261
|
def test_initialize_override_defaults
|
202
|
-
s = Isolate::Sandbox.new
|
203
|
-
|
204
|
-
|
262
|
+
s = Isolate::Sandbox.new(:path => "x",
|
263
|
+
:cleanup => false,
|
264
|
+
:install => false,
|
265
|
+
:system => false,
|
266
|
+
:verbose => false,
|
267
|
+
:multiruby => false)
|
205
268
|
|
206
269
|
assert_equal File.expand_path("x"), s.path
|
207
270
|
|
@@ -243,11 +306,11 @@ class TestIsolateSandbox < Isolate::Test
|
|
243
306
|
|
244
307
|
v = [Gem.ruby_engine, RbConfig::CONFIG["ruby_version"]].join "-"
|
245
308
|
s = sandbox :multiruby => true
|
246
|
-
p = File.expand_path("tmp/
|
309
|
+
p = File.expand_path("tmp/test/#{v}")
|
247
310
|
|
248
311
|
assert_equal p, s.path
|
249
312
|
|
250
|
-
s = sandbox :path => "tmp/
|
313
|
+
s = sandbox :path => "tmp/test/#{v}", :multiruby => false
|
251
314
|
assert_equal p, s.path
|
252
315
|
end
|
253
316
|
|
@@ -261,15 +324,27 @@ class TestIsolateSandbox < Isolate::Test
|
|
261
324
|
"#{name} is NOT a loaded gemspec, and it should be!"
|
262
325
|
end
|
263
326
|
|
264
|
-
def sandbox
|
265
|
-
|
327
|
+
def sandbox opts = {}, &block
|
328
|
+
defaults = {
|
266
329
|
:install => false,
|
267
330
|
:system => false,
|
268
331
|
:verbose => false,
|
269
332
|
:multiruby => false
|
270
333
|
}
|
271
334
|
|
272
|
-
|
273
|
-
|
335
|
+
Isolate::Sandbox.new defaults.merge(opts), &block
|
336
|
+
end
|
337
|
+
|
338
|
+
def with_env_setup
|
339
|
+
old_gem_path = ENV["GEM_PATH"]
|
340
|
+
old_gem_home = ENV["GEM_HOME"]
|
341
|
+
ENV["GEM_HOME"] = "test/fixtures/with-hoe"
|
342
|
+
ENV["GEM_PATH"] = "test/fixtures/system"
|
343
|
+
Gem.refresh
|
344
|
+
|
345
|
+
yield
|
346
|
+
ensure
|
347
|
+
ENV["GEM_PATH"] = old_gem_path
|
348
|
+
ENV["GEM_HOME"] = old_gem_home
|
274
349
|
end
|
275
350
|
end
|
metadata
CHANGED
@@ -1,85 +1,151 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: isolate
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
hash: 3
|
5
|
+
prerelease:
|
5
6
|
segments:
|
6
7
|
- 3
|
7
8
|
- 1
|
8
9
|
- 0
|
9
|
-
|
10
|
-
- 3
|
11
|
-
version: 3.1.0.pre.3
|
10
|
+
version: 3.1.0
|
12
11
|
platform: ruby
|
13
12
|
authors:
|
14
13
|
- John Barnette
|
15
14
|
- Ryan Davis
|
16
15
|
autorequire:
|
17
16
|
bindir: bin
|
18
|
-
cert_chain:
|
17
|
+
cert_chain:
|
18
|
+
- |
|
19
|
+
-----BEGIN CERTIFICATE-----
|
20
|
+
MIIDPjCCAiagAwIBAgIBADANBgkqhkiG9w0BAQUFADBFMRMwEQYDVQQDDApyeWFu
|
21
|
+
ZC1ydWJ5MRkwFwYKCZImiZPyLGQBGRYJemVuc3BpZGVyMRMwEQYKCZImiZPyLGQB
|
22
|
+
GRYDY29tMB4XDTA5MDMwNjE4NTMxNVoXDTEwMDMwNjE4NTMxNVowRTETMBEGA1UE
|
23
|
+
AwwKcnlhbmQtcnVieTEZMBcGCgmSJomT8ixkARkWCXplbnNwaWRlcjETMBEGCgmS
|
24
|
+
JomT8ixkARkWA2NvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALda
|
25
|
+
b9DCgK+627gPJkB6XfjZ1itoOQvpqH1EXScSaba9/S2VF22VYQbXU1xQXL/WzCkx
|
26
|
+
taCPaLmfYIaFcHHCSY4hYDJijRQkLxPeB3xbOfzfLoBDbjvx5JxgJxUjmGa7xhcT
|
27
|
+
oOvjtt5P8+GSK9zLzxQP0gVLS/D0FmoE44XuDr3iQkVS2ujU5zZL84mMNqNB1znh
|
28
|
+
GiadM9GHRaDiaxuX0cIUBj19T01mVE2iymf9I6bEsiayK/n6QujtyCbTWsAS9Rqt
|
29
|
+
qhtV7HJxNKuPj/JFH0D2cswvzznE/a5FOYO68g+YCuFi5L8wZuuM8zzdwjrWHqSV
|
30
|
+
gBEfoTEGr7Zii72cx+sCAwEAAaM5MDcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAw
|
31
|
+
HQYDVR0OBBYEFEfFe9md/r/tj/Wmwpy+MI8d9k/hMA0GCSqGSIb3DQEBBQUAA4IB
|
32
|
+
AQAY59gYvDxqSqgC92nAP9P8dnGgfZgLxP237xS6XxFGJSghdz/nI6pusfCWKM8m
|
33
|
+
vzjjH2wUMSSf3tNudQ3rCGLf2epkcU13/rguI88wO6MrE0wi4ZqLQX+eZQFskJb/
|
34
|
+
w6x9W1ur8eR01s397LSMexySDBrJOh34cm2AlfKr/jokKCTwcM0OvVZnAutaovC0
|
35
|
+
l1SVZ0ecg88bsWHA0Yhh7NFxK1utWoIhtB6AFC/+trM0FQEB/jZkIS8SaNzn96Rl
|
36
|
+
n0sZEf77FLf5peR8TP/PtmIg7Cyqz23sLM4mCOoTGIy5OcZ8TdyiyINUHtb5ej/T
|
37
|
+
FBHgymkyj/AOSqKRIpXPhjC6
|
38
|
+
-----END CERTIFICATE-----
|
19
39
|
|
20
|
-
date:
|
21
|
-
default_executable:
|
40
|
+
date: 2011-05-19 00:00:00 Z
|
22
41
|
dependencies:
|
23
42
|
- !ruby/object:Gem::Dependency
|
24
|
-
name: hoe-
|
43
|
+
name: hoe-seattlerb
|
25
44
|
prerelease: false
|
26
45
|
requirement: &id001 !ruby/object:Gem::Requirement
|
27
46
|
none: false
|
28
47
|
requirements:
|
29
|
-
- - "
|
48
|
+
- - ">"
|
30
49
|
- !ruby/object:Gem::Version
|
50
|
+
hash: 3
|
31
51
|
segments:
|
32
|
-
- 1
|
33
|
-
- 0
|
34
52
|
- 0
|
35
|
-
version:
|
53
|
+
version: "0"
|
36
54
|
type: :development
|
37
55
|
version_requirements: *id001
|
38
56
|
- !ruby/object:Gem::Dependency
|
39
|
-
name:
|
57
|
+
name: minitest
|
40
58
|
prerelease: false
|
41
59
|
requirement: &id002 !ruby/object:Gem::Requirement
|
42
60
|
none: false
|
43
61
|
requirements:
|
44
|
-
- -
|
62
|
+
- - ~>
|
45
63
|
- !ruby/object:Gem::Version
|
64
|
+
hash: 1
|
46
65
|
segments:
|
66
|
+
- 2
|
47
67
|
- 1
|
48
|
-
|
49
|
-
- 0
|
50
|
-
version: 1.3.0
|
68
|
+
version: "2.1"
|
51
69
|
type: :development
|
52
70
|
version_requirements: *id002
|
53
71
|
- !ruby/object:Gem::Dependency
|
54
|
-
name:
|
72
|
+
name: hoe-doofus
|
55
73
|
prerelease: false
|
56
74
|
requirement: &id003 !ruby/object:Gem::Requirement
|
57
75
|
none: false
|
58
76
|
requirements:
|
59
|
-
- -
|
77
|
+
- - ~>
|
60
78
|
- !ruby/object:Gem::Version
|
79
|
+
hash: 23
|
61
80
|
segments:
|
62
81
|
- 1
|
63
|
-
-
|
64
|
-
-
|
65
|
-
version: 1.
|
82
|
+
- 0
|
83
|
+
- 0
|
84
|
+
version: 1.0.0
|
66
85
|
type: :development
|
67
86
|
version_requirements: *id003
|
68
87
|
- !ruby/object:Gem::Dependency
|
69
|
-
name: hoe
|
88
|
+
name: hoe-git
|
70
89
|
prerelease: false
|
71
90
|
requirement: &id004 !ruby/object:Gem::Requirement
|
91
|
+
none: false
|
92
|
+
requirements:
|
93
|
+
- - ~>
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
hash: 9
|
96
|
+
segments:
|
97
|
+
- 1
|
98
|
+
- 3
|
99
|
+
version: "1.3"
|
100
|
+
type: :development
|
101
|
+
version_requirements: *id004
|
102
|
+
- !ruby/object:Gem::Dependency
|
103
|
+
name: ZenTest
|
104
|
+
prerelease: false
|
105
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
106
|
+
none: false
|
107
|
+
requirements:
|
108
|
+
- - ~>
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
hash: 17
|
111
|
+
segments:
|
112
|
+
- 4
|
113
|
+
- 5
|
114
|
+
version: "4.5"
|
115
|
+
type: :development
|
116
|
+
version_requirements: *id005
|
117
|
+
- !ruby/object:Gem::Dependency
|
118
|
+
name: minitest
|
119
|
+
prerelease: false
|
120
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
72
121
|
none: false
|
73
122
|
requirements:
|
74
123
|
- - ">="
|
75
124
|
- !ruby/object:Gem::Version
|
125
|
+
hash: 11
|
76
126
|
segments:
|
77
127
|
- 2
|
78
|
-
-
|
128
|
+
- 1
|
129
|
+
- 0
|
130
|
+
version: 2.1.0
|
131
|
+
type: :development
|
132
|
+
version_requirements: *id006
|
133
|
+
- !ruby/object:Gem::Dependency
|
134
|
+
name: hoe
|
135
|
+
prerelease: false
|
136
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ">="
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
hash: 35
|
142
|
+
segments:
|
79
143
|
- 2
|
80
|
-
|
144
|
+
- 9
|
145
|
+
- 4
|
146
|
+
version: 2.9.4
|
81
147
|
type: :development
|
82
|
-
version_requirements: *
|
148
|
+
version_requirements: *id007
|
83
149
|
description: |-
|
84
150
|
Isolate is a very simple RubyGems sandbox. It provides a way to
|
85
151
|
express and automatically install your project's Gem dependencies.
|
@@ -96,18 +162,14 @@ extra_rdoc_files:
|
|
96
162
|
- README.rdoc
|
97
163
|
files:
|
98
164
|
- .autotest
|
99
|
-
- .rvmrc
|
100
165
|
- CHANGELOG.rdoc
|
101
|
-
- Isolate
|
102
166
|
- Manifest.txt
|
103
167
|
- README.rdoc
|
104
168
|
- Rakefile
|
105
169
|
- lib/hoe/isolate.rb
|
106
170
|
- lib/isolate.rb
|
107
|
-
- lib/isolate/completely.rb
|
108
171
|
- lib/isolate/entry.rb
|
109
172
|
- lib/isolate/events.rb
|
110
|
-
- lib/isolate/installer.rb
|
111
173
|
- lib/isolate/now.rb
|
112
174
|
- lib/isolate/rake.rb
|
113
175
|
- lib/isolate/sandbox.rb
|
@@ -115,6 +177,7 @@ files:
|
|
115
177
|
- test/fixtures/isolate.rb
|
116
178
|
- test/fixtures/override.rb
|
117
179
|
- test/fixtures/override.rb.local
|
180
|
+
- test/fixtures/system/specifications/rcov-0.9.9.gemspec
|
118
181
|
- test/fixtures/with-hoe/specifications/hoe-2.3.3.gemspec
|
119
182
|
- test/fixtures/with-hoe/specifications/rake-0.8.7.gemspec
|
120
183
|
- test/fixtures/with-hoe/specifications/rubyforge-1.0.4.gemspec
|
@@ -123,7 +186,7 @@ files:
|
|
123
186
|
- test/test_isolate_entry.rb
|
124
187
|
- test/test_isolate_events.rb
|
125
188
|
- test/test_isolate_sandbox.rb
|
126
|
-
|
189
|
+
- .gemtest
|
127
190
|
homepage: http://github.com/jbarnette/isolate
|
128
191
|
licenses: []
|
129
192
|
|
@@ -138,25 +201,25 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
138
201
|
requirements:
|
139
202
|
- - ">="
|
140
203
|
- !ruby/object:Gem::Version
|
204
|
+
hash: 3
|
141
205
|
segments:
|
142
|
-
-
|
143
|
-
|
144
|
-
- 6
|
145
|
-
version: 1.8.6
|
206
|
+
- 0
|
207
|
+
version: "0"
|
146
208
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
147
209
|
none: false
|
148
210
|
requirements:
|
149
211
|
- - ">="
|
150
212
|
- !ruby/object:Gem::Version
|
213
|
+
hash: 51
|
151
214
|
segments:
|
152
215
|
- 1
|
153
|
-
-
|
154
|
-
-
|
155
|
-
version: 1.
|
216
|
+
- 8
|
217
|
+
- 2
|
218
|
+
version: 1.8.2
|
156
219
|
requirements: []
|
157
220
|
|
158
221
|
rubyforge_project: isolate
|
159
|
-
rubygems_version: 1.
|
222
|
+
rubygems_version: 1.8.2
|
160
223
|
signing_key:
|
161
224
|
specification_version: 3
|
162
225
|
summary: Isolate is a very simple RubyGems sandbox
|
metadata.gz.sig
ADDED
Binary file
|
data/.rvmrc
DELETED
data/Isolate
DELETED
data/lib/isolate/completely.rb
DELETED
data/lib/isolate/installer.rb
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
require "rubygems/dependency_installer"
|
2
|
-
|
3
|
-
module Isolate
|
4
|
-
class Installer < Gem::DependencyInstaller
|
5
|
-
def initialize sandbox
|
6
|
-
super :development => false,
|
7
|
-
:generate_rdoc => false,
|
8
|
-
:generate_ri => false,
|
9
|
-
:install_dir => sandbox.path
|
10
|
-
|
11
|
-
# reset super's use of sandbox.path exclusively
|
12
|
-
@source_index = Gem.source_index
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|