isolate 3.1.2 → 3.2.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.tar.gz.sig CHANGED
@@ -1,2 +1,2 @@
1
- k����Ew!�����x>��4dr��nU�
2
- G
1
+ �*������xb�ֻ��&B�gi�����s�!�D�=�ؚ<�Ú�?���t��dI����K\�?�\��/��n�%v�ݲ�&�k���� ����Xeܾ��(`Fz]1����߶q~�Ф7~Μ
2
+ %�
@@ -1,3 +1,20 @@
1
+ === 3.2.0 / 2011-08-31
2
+
3
+ * 1 major enhancement:
4
+
5
+ * hoe/isolate no longer globally activates isolate. Attach via :isolate dependency
6
+
7
+ * 2 minor enhancements:
8
+
9
+ * Fix for custom gem server source overriding. (yaksnrainbows)
10
+ * Remove isolated gems that are now satisfied globally. (luis)
11
+
12
+ * 3 bug fixes:
13
+
14
+ * Reworked rakefile and dependencies
15
+ * Fix for custom gem server sources being overwritten by rubygems
16
+ * Resolve a constant undefined error with rake on ruby-1.9.2
17
+
1
18
  === 3.1.2 / 2011-08-09
2
19
 
3
20
  * 1 bug fix:
@@ -15,6 +15,8 @@ test/fixtures/isolate.rb
15
15
  test/fixtures/override.rb
16
16
  test/fixtures/override.rb.local
17
17
  test/fixtures/system/specifications/rcov-0.9.9.gemspec
18
+ test/fixtures/system_redundant/specifications/rake-0.8.7.gemspec
19
+ test/fixtures/system_redundant/specifications/rcov-0.9.9.gemspec
18
20
  test/fixtures/with-hoe/specifications/hoe-2.3.3.gemspec
19
21
  test/fixtures/with-hoe/specifications/rake-0.8.7.gemspec
20
22
  test/fixtures/with-hoe/specifications/rubyforge-1.0.4.gemspec
data/Rakefile CHANGED
@@ -4,17 +4,6 @@ require "hoe"
4
4
  $:.unshift "lib"
5
5
  require "isolate/rake"
6
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
-
18
7
  Hoe.plugins.delete :rubyforge
19
8
  Hoe.plugin :isolate, :doofus, :git, :minitest
20
9
 
@@ -28,4 +17,10 @@ Hoe.spec "isolate" do
28
17
  self.extra_rdoc_files = Dir["*.rdoc"]
29
18
  self.history_file = "CHANGELOG.rdoc"
30
19
  self.readme_file = "README.rdoc"
20
+
21
+ dependency "hoe-seattlerb", "~> 1.2", :development
22
+ dependency "minitest", "~> 2.1", :development
23
+ dependency "hoe-doofus", "~> 1.0", :development
24
+ dependency "hoe-git", "~> 1.3", :development
25
+ dependency "ZenTest", "~> 4.5", :development
31
26
  end
@@ -42,7 +42,7 @@ class Hoe # :nodoc:
42
42
  end
43
43
  end
44
44
 
45
- def define_isolate_tasks # HACK
45
+ def define_isolate_tasks
46
46
  sandbox = ::Isolate.sandbox
47
47
 
48
48
  # reset, now that they've had a chance to change it
@@ -58,7 +58,11 @@ class Hoe # :nodoc:
58
58
  end
59
59
  end
60
60
 
61
- sandbox.activate
61
+ task :isolate do
62
+ sandbox.activate
63
+ end
64
+
65
+ task :test => :isolate
62
66
  end
63
67
  end
64
68
  end
@@ -8,7 +8,7 @@ module Isolate
8
8
 
9
9
  # Duh.
10
10
 
11
- VERSION = "3.1.2"
11
+ VERSION = "3.2.0"
12
12
 
13
13
  # Disable Isolate. If a block is provided, isolation will be
14
14
  # disabled for the scope of the block.
@@ -88,8 +88,8 @@ module Isolate
88
88
  :generate_ri => false,
89
89
  :install_dir => @sandbox.path)
90
90
 
91
- Gem.sources += Array(options[:source]) if options[:source]
92
91
  Gem::Command.build_args = Array(options[:args]) if options[:args]
92
+ Gem.sources += Array(options[:source]) if options[:source]
93
93
 
94
94
  installer.install @file || name, requirement
95
95
  end
@@ -86,12 +86,11 @@ module Isolate
86
86
  def cleanup # :nodoc:
87
87
  fire :cleaning
88
88
 
89
- installed = Gem::Specification.map.to_a
90
- legit = legitimize!
91
- extra = installed - legit
92
-
93
89
  gem_dir = Gem.dir
94
- extra.reject! { |s| s.base_dir != gem_dir }
90
+
91
+ global, local = Gem::Specification.partition { |s| s.base_dir != gem_dir }
92
+ legit = legitimize!
93
+ extra = (local - legit) + (local & global)
95
94
 
96
95
  self.remove(*extra)
97
96
 
@@ -0,0 +1,31 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ Gem::Specification.new do |s|
4
+ s.name = %q{rake}
5
+ s.version = "0.8.7"
6
+
7
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
+ s.authors = ["Jim Weirich"]
9
+ s.date = %q{2009-05-14}
10
+ s.description = %q{Rake is a Make-like program implemented in Ruby. Tasks and dependencies are specified in standard Ruby syntax.}
11
+ s.email = %q{jim@weirichhouse.org}
12
+ s.executables = ["rake"]
13
+ s.extra_rdoc_files = ["README", "MIT-LICENSE", "TODO", "CHANGES", "doc/command_line_usage.rdoc", "doc/glossary.rdoc", "doc/proto_rake.rdoc", "doc/rakefile.rdoc", "doc/rational.rdoc", "doc/release_notes/rake-0.4.14.rdoc", "doc/release_notes/rake-0.4.15.rdoc", "doc/release_notes/rake-0.5.0.rdoc", "doc/release_notes/rake-0.5.3.rdoc", "doc/release_notes/rake-0.5.4.rdoc", "doc/release_notes/rake-0.6.0.rdoc", "doc/release_notes/rake-0.7.0.rdoc", "doc/release_notes/rake-0.7.1.rdoc", "doc/release_notes/rake-0.7.2.rdoc", "doc/release_notes/rake-0.7.3.rdoc", "doc/release_notes/rake-0.8.0.rdoc", "doc/release_notes/rake-0.8.2.rdoc", "doc/release_notes/rake-0.8.3.rdoc", "doc/release_notes/rake-0.8.4.rdoc", "doc/release_notes/rake-0.8.5.rdoc", "doc/release_notes/rake-0.8.6.rdoc", "doc/release_notes/rake-0.8.7.rdoc"]
14
+ s.files = ["install.rb", "CHANGES", "MIT-LICENSE", "Rakefile", "README", "TODO", "bin/rake", "lib/rake/alt_system.rb", "lib/rake/classic_namespace.rb", "lib/rake/clean.rb", "lib/rake/contrib/compositepublisher.rb", "lib/rake/contrib/ftptools.rb", "lib/rake/contrib/publisher.rb", "lib/rake/contrib/rubyforgepublisher.rb", "lib/rake/contrib/sshpublisher.rb", "lib/rake/contrib/sys.rb", "lib/rake/gempackagetask.rb", "lib/rake/loaders/makefile.rb", "lib/rake/packagetask.rb", "lib/rake/rake_test_loader.rb", "lib/rake/rdoctask.rb", "lib/rake/ruby182_test_unit_fix.rb", "lib/rake/runtest.rb", "lib/rake/tasklib.rb", "lib/rake/testtask.rb", "lib/rake/win32.rb", "lib/rake.rb", "test/capture_stdout.rb", "test/check_expansion.rb", "test/check_no_expansion.rb", "test/contrib/test_sys.rb", "test/data/rakelib/test1.rb", "test/data/rbext/rakefile.rb", "test/filecreation.rb", "test/functional.rb", "test/in_environment.rb", "test/rake_test_setup.rb", "test/reqfile.rb", "test/reqfile2.rb", "test/session_functional.rb", "test/shellcommand.rb", "test/test_application.rb", "test/test_clean.rb", "test/test_definitions.rb", "test/test_earlytime.rb", "test/test_extension.rb", "test/test_file_creation_task.rb", "test/test_file_task.rb", "test/test_filelist.rb", "test/test_fileutils.rb", "test/test_ftp.rb", "test/test_invocation_chain.rb", "test/test_makefile_loader.rb", "test/test_multitask.rb", "test/test_namespace.rb", "test/test_package_task.rb", "test/test_pathmap.rb", "test/test_pseudo_status.rb", "test/test_rake.rb", "test/test_rdoc_task.rb", "test/test_require.rb", "test/test_rules.rb", "test/test_task_arguments.rb", "test/test_task_manager.rb", "test/test_tasklib.rb", "test/test_tasks.rb", "test/test_test_task.rb", "test/test_top_level_functions.rb", "test/test_win32.rb", "test/data/imports/deps.mf", "test/data/sample.mf", "test/data/chains/Rakefile", "test/data/default/Rakefile", "test/data/dryrun/Rakefile", "test/data/file_creation_task/Rakefile", "test/data/imports/Rakefile", "test/data/multidesc/Rakefile", "test/data/namespace/Rakefile", "test/data/statusreturn/Rakefile", "test/data/unittest/Rakefile", "test/data/unittest/subdir", "doc/command_line_usage.rdoc", "doc/example", "doc/example/a.c", "doc/example/b.c", "doc/example/main.c", "doc/example/Rakefile1", "doc/example/Rakefile2", "doc/glossary.rdoc", "doc/jamis.rb", "doc/proto_rake.rdoc", "doc/rake.1.gz", "doc/rakefile.rdoc", "doc/rational.rdoc", "doc/release_notes", "doc/release_notes/rake-0.4.14.rdoc", "doc/release_notes/rake-0.4.15.rdoc", "doc/release_notes/rake-0.5.0.rdoc", "doc/release_notes/rake-0.5.3.rdoc", "doc/release_notes/rake-0.5.4.rdoc", "doc/release_notes/rake-0.6.0.rdoc", "doc/release_notes/rake-0.7.0.rdoc", "doc/release_notes/rake-0.7.1.rdoc", "doc/release_notes/rake-0.7.2.rdoc", "doc/release_notes/rake-0.7.3.rdoc", "doc/release_notes/rake-0.8.0.rdoc", "doc/release_notes/rake-0.8.2.rdoc", "doc/release_notes/rake-0.8.3.rdoc", "doc/release_notes/rake-0.8.4.rdoc", "doc/release_notes/rake-0.8.5.rdoc", "doc/release_notes/rake-0.8.6.rdoc", "doc/release_notes/rake-0.8.7.rdoc"]
15
+ s.homepage = %q{http://rake.rubyforge.org}
16
+ s.rdoc_options = ["--line-numbers", "--main", "README", "--title", "Rake -- Ruby Make"]
17
+ s.require_paths = ["lib"]
18
+ s.rubyforge_project = %q{rake}
19
+ s.rubygems_version = %q{1.3.3}
20
+ s.summary = %q{Ruby based make-like utility.}
21
+
22
+ if s.respond_to? :specification_version then
23
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
24
+ s.specification_version = 2
25
+
26
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
27
+ else
28
+ end
29
+ else
30
+ end
31
+ 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
@@ -1,8 +1,13 @@
1
1
  require "isolate/test"
2
2
 
3
+ class Gem::Specification
4
+ attr_writer :gems_dir, :gem_dir
5
+ end
6
+
3
7
  class TestIsolateSandbox < Isolate::Test
4
8
  WITH_HOE = "test/fixtures/with-hoe"
5
9
  SYSTEM = "test/fixtures/system"
10
+ SYSTEM2 = "test/fixtures/system_redundant"
6
11
 
7
12
  def setup
8
13
  @sandbox = sandbox
@@ -133,6 +138,25 @@ class TestIsolateSandbox < Isolate::Test
133
138
  end
134
139
  end
135
140
 
141
+ def test_cleanup_redundant
142
+ with_env_setup SYSTEM2 do
143
+ s = sandbox(:path => WITH_HOE, :install => true, :cleanup => true,
144
+ :system => true)
145
+
146
+ s.gem "rake", "0.8.7"
147
+
148
+ assert_silent do
149
+ s.activate
150
+ end
151
+
152
+ expected = [["hoe", "2.3.3", WITH_HOE],
153
+ ["rake", "0.8.7", WITH_HOE],
154
+ ["rubyforge", "1.0.4", WITH_HOE]]
155
+
156
+ assert_equal expected, Gem::Uninstaller.value.sort
157
+ end
158
+ end
159
+
136
160
  def test_disable
137
161
  home, path, bin = ENV.values_at "GEM_HOME", "GEM_PATH", "PATH"
138
162
  load_path = $LOAD_PATH.dup
@@ -143,7 +167,11 @@ class TestIsolateSandbox < Isolate::Test
143
167
  refute_equal path, ENV["GEM_PATH"]
144
168
  refute_equal bin, ENV["PATH"]
145
169
 
146
- refute_equal load_path, $LOAD_PATH
170
+ # HACK: I have no idea the original intent of this assertion, but
171
+ # it is useless with my installed gems. Either this test needs to
172
+ # use an actual SEPARATE sandbox, or it fails.
173
+
174
+ # refute_equal load_path, $LOAD_PATH
147
175
 
148
176
  result = @sandbox.disable
149
177
  assert_same @sandbox, result
@@ -151,7 +179,7 @@ class TestIsolateSandbox < Isolate::Test
151
179
  assert_equal home, ENV["GEM_HOME"]
152
180
  assert_equal path, ENV["GEM_PATH"]
153
181
  assert_equal bin, ENV["PATH"]
154
- assert_equal load_path, $LOAD_PATH
182
+ # assert_equal load_path, $LOAD_PATH
155
183
  end
156
184
 
157
185
  def test_enable
@@ -344,11 +372,11 @@ class TestIsolateSandbox < Isolate::Test
344
372
  Isolate::Sandbox.new defaults.merge(opts), &block
345
373
  end
346
374
 
347
- def with_env_setup
375
+ def with_env_setup path = SYSTEM
348
376
  old_gem_path = ENV["GEM_PATH"]
349
377
  old_gem_home = ENV["GEM_HOME"]
350
378
  ENV["GEM_HOME"] = "test/fixtures/with-hoe"
351
- ENV["GEM_PATH"] = "test/fixtures/system"
379
+ ENV["GEM_PATH"] = path
352
380
  Gem.refresh
353
381
 
354
382
  yield
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: isolate
3
3
  version: !ruby/object:Gem::Version
4
- hash: 7
4
+ hash: 15
5
5
  prerelease:
6
6
  segments:
7
7
  - 3
8
- - 1
9
8
  - 2
10
- version: 3.1.2
9
+ - 0
10
+ version: 3.2.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Ryan Davis
@@ -38,97 +38,97 @@ cert_chain:
38
38
  FBHgymkyj/AOSqKRIpXPhjC6
39
39
  -----END CERTIFICATE-----
40
40
 
41
- date: 2011-08-09 00:00:00 Z
41
+ date: 2011-08-31 00:00:00 Z
42
42
  dependencies:
43
43
  - !ruby/object:Gem::Dependency
44
- name: hoe-seattlerb
44
+ name: minitest
45
45
  prerelease: false
46
46
  requirement: &id001 !ruby/object:Gem::Requirement
47
47
  none: false
48
48
  requirements:
49
- - - ">"
49
+ - - ">="
50
50
  - !ruby/object:Gem::Version
51
- hash: 3
51
+ hash: 25
52
52
  segments:
53
- - 0
54
- version: "0"
53
+ - 2
54
+ - 5
55
+ - 1
56
+ version: 2.5.1
55
57
  type: :development
56
58
  version_requirements: *id001
57
59
  - !ruby/object:Gem::Dependency
58
- name: minitest
60
+ name: hoe-seattlerb
59
61
  prerelease: false
60
62
  requirement: &id002 !ruby/object:Gem::Requirement
61
63
  none: false
62
64
  requirements:
63
65
  - - ~>
64
66
  - !ruby/object:Gem::Version
65
- hash: 1
67
+ hash: 11
66
68
  segments:
67
- - 2
68
69
  - 1
69
- version: "2.1"
70
+ - 2
71
+ version: "1.2"
70
72
  type: :development
71
73
  version_requirements: *id002
72
74
  - !ruby/object:Gem::Dependency
73
- name: hoe-doofus
75
+ name: minitest
74
76
  prerelease: false
75
77
  requirement: &id003 !ruby/object:Gem::Requirement
76
78
  none: false
77
79
  requirements:
78
80
  - - ~>
79
81
  - !ruby/object:Gem::Version
80
- hash: 23
82
+ hash: 1
81
83
  segments:
84
+ - 2
82
85
  - 1
83
- - 0
84
- - 0
85
- version: 1.0.0
86
+ version: "2.1"
86
87
  type: :development
87
88
  version_requirements: *id003
88
89
  - !ruby/object:Gem::Dependency
89
- name: hoe-git
90
+ name: hoe-doofus
90
91
  prerelease: false
91
92
  requirement: &id004 !ruby/object:Gem::Requirement
92
93
  none: false
93
94
  requirements:
94
95
  - - ~>
95
96
  - !ruby/object:Gem::Version
96
- hash: 9
97
+ hash: 15
97
98
  segments:
98
99
  - 1
99
- - 3
100
- version: "1.3"
100
+ - 0
101
+ version: "1.0"
101
102
  type: :development
102
103
  version_requirements: *id004
103
104
  - !ruby/object:Gem::Dependency
104
- name: ZenTest
105
+ name: hoe-git
105
106
  prerelease: false
106
107
  requirement: &id005 !ruby/object:Gem::Requirement
107
108
  none: false
108
109
  requirements:
109
110
  - - ~>
110
111
  - !ruby/object:Gem::Version
111
- hash: 17
112
+ hash: 9
112
113
  segments:
113
- - 4
114
- - 5
115
- version: "4.5"
114
+ - 1
115
+ - 3
116
+ version: "1.3"
116
117
  type: :development
117
118
  version_requirements: *id005
118
119
  - !ruby/object:Gem::Dependency
119
- name: minitest
120
+ name: ZenTest
120
121
  prerelease: false
121
122
  requirement: &id006 !ruby/object:Gem::Requirement
122
123
  none: false
123
124
  requirements:
124
- - - ">="
125
+ - - ~>
125
126
  - !ruby/object:Gem::Version
126
- hash: 1
127
+ hash: 17
127
128
  segments:
128
- - 2
129
- - 3
130
- - 1
131
- version: 2.3.1
129
+ - 4
130
+ - 5
131
+ version: "4.5"
132
132
  type: :development
133
133
  version_requirements: *id006
134
134
  - !ruby/object:Gem::Dependency
@@ -139,11 +139,11 @@ dependencies:
139
139
  requirements:
140
140
  - - ~>
141
141
  - !ruby/object:Gem::Version
142
- hash: 23
142
+ hash: 27
143
143
  segments:
144
144
  - 2
145
- - 10
146
- version: "2.10"
145
+ - 12
146
+ version: "2.12"
147
147
  type: :development
148
148
  version_requirements: *id007
149
149
  description: |-
@@ -179,6 +179,8 @@ files:
179
179
  - test/fixtures/override.rb
180
180
  - test/fixtures/override.rb.local
181
181
  - test/fixtures/system/specifications/rcov-0.9.9.gemspec
182
+ - test/fixtures/system_redundant/specifications/rake-0.8.7.gemspec
183
+ - test/fixtures/system_redundant/specifications/rcov-0.9.9.gemspec
182
184
  - test/fixtures/with-hoe/specifications/hoe-2.3.3.gemspec
183
185
  - test/fixtures/with-hoe/specifications/rake-0.8.7.gemspec
184
186
  - test/fixtures/with-hoe/specifications/rubyforge-1.0.4.gemspec
@@ -220,7 +222,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
220
222
  requirements: []
221
223
 
222
224
  rubyforge_project: isolate
223
- rubygems_version: 1.8.5
225
+ rubygems_version: 1.8.10
224
226
  signing_key:
225
227
  specification_version: 3
226
228
  summary: Isolate is a very simple RubyGems sandbox
metadata.gz.sig CHANGED
Binary file