|
51 | 51 | desc "Unpack the rack gem" |
52 | 52 | task :unpack_gem => "target" do |t| |
53 | 53 | target = File.expand_path(t.prerequisites.first) |
54 | | - spec = Gem.loaded_specs['rack'] |
55 | | - # JRuby <= 1.7.20 does not handle respond_to? with method_missing right |
56 | | - # ... issue with Bundler::StubSpecification wrapping (in bundler 1.10.x) |
57 | | - unless ( gem_file = spec.cache_file rescue nil ) |
58 | | - #if defined?(::Bundler) && ::Bundler.const_defined?(:StubSpecification) # since Bundler 1.10.1 |
59 | | - # spec = spec.to_spec if spec.is_a?(::Bundler::StubSpecification) |
60 | | - #else |
61 | | - # spec = spec.to_spec if spec.respond_to?(:to_spec) |
62 | | - #end |
63 | | - gem_file = File.join(spec.base_dir, 'cache', spec.file_name) |
64 | | - end |
65 | | - unless uptodate?("#{target}/vendor/rack.rb", [__FILE__, gem_file]) |
| 54 | + rack_gemfile = Gem.loaded_specs['rack'].cache_file |
| 55 | + unless uptodate?("#{target}/vendor/rack.rb", [__FILE__, rack_gemfile]) |
66 | 56 | mkdir_p "target/vendor" |
67 | 57 | require 'rubygems/installer' |
68 | | - rack_dir = File.basename(gem_file).sub(/\.gem$/, '') |
69 | | - Gem::Package.new(gem_file).extract_files("#{target}/#{rack_dir}") |
| 58 | + rack_dir = File.basename(rack_gemfile).sub(/\.gem$/, '') |
| 59 | + Gem::Package.new(rack_gemfile).extract_files("#{target}/#{rack_dir}") |
70 | 60 | File.open("#{target}/vendor/rack.rb", "w") do |f| |
71 | 61 | f << "dir = File.dirname(__FILE__)\n" |
72 | 62 | f << "if dir =~ /.jar!/ && dir !~ /^file:/\n" |
@@ -187,9 +177,9 @@ task :gem => [target_jar, target_jruby_rack, target_jruby_rack_version] do |
187 | 177 | gem.homepage = %q{http://jruby.org} |
188 | 178 | gem.required_ruby_version = '>= 3.1.0' # JRuby >= 9.4 |
189 | 179 | end |
190 | | - defined?(Gem::Builder) ? Gem::Builder.new(gemspec).build : begin |
191 | | - require 'rubygems/package'; Gem::Package.build(gemspec) |
192 | | - end |
| 180 | + |
| 181 | + require 'rubygems/package' |
| 182 | + Gem::Package.build(gemspec) |
193 | 183 | File.open('jruby-rack.gemspec', 'w') { |f| f << gemspec.to_ruby } |
194 | 184 | mv FileList['*.gem'], '..' |
195 | 185 | end |
|
0 commit comments