提交 9eab4356 编写于 作者: J J.D. Hollis 提交者: Yehuda Katz + Carl Lerche

Only check for built extensions on gem dependencies that are in vendor/gems. [#2825 state:resolved]

Signed-off-by: NYehuda Katz + Carl Lerche <ykatz+clerche@engineyard.com>
上级 8bb510f6
...@@ -122,10 +122,14 @@ def requirement ...@@ -122,10 +122,14 @@ def requirement
def built? def built?
return false unless frozen? return false unless frozen?
specification.extensions.each do |ext|
makefile = File.join(unpacked_gem_directory, File.dirname(ext), 'Makefile') if vendor_gem?
return false unless File.exists?(makefile) specification.extensions.each do |ext|
makefile = File.join(unpacked_gem_directory, File.dirname(ext), 'Makefile')
return false unless File.exists?(makefile)
end
end end
true true
end end
......
...@@ -199,6 +199,15 @@ def test_gem_determines_build_status ...@@ -199,6 +199,15 @@ def test_gem_determines_build_status
assert_equal true, Rails::GemDependency.new("dummy-gem-i").built? assert_equal true, Rails::GemDependency.new("dummy-gem-i").built?
assert_equal false, Rails::GemDependency.new("dummy-gem-j").built? assert_equal false, Rails::GemDependency.new("dummy-gem-j").built?
end end
def test_gem_determines_build_status_only_on_vendor_gems
framework_gem = Rails::GemDependency.new('dummy-framework-gem')
framework_gem.stubs(:framework_gem?).returns(true) # already loaded
framework_gem.stubs(:vendor_rails?).returns(false) # but not in vendor/rails
framework_gem.stubs(:vendor_gem?).returns(false) # and not in vendor/gems
framework_gem.add_load_paths # freeze framework gem early
assert framework_gem.built?
end
def test_gem_build_passes_options_to_dependencies def test_gem_build_passes_options_to_dependencies
start_gem = Rails::GemDependency.new("dummy-gem-g") start_gem = Rails::GemDependency.new("dummy-gem-g")
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册