From a89b5ff67121f7574008191f53a7b93d8ab1a8e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Rodr=C3=ADguez?= Date: Fri, 29 Nov 2019 19:23:21 +0100 Subject: [PATCH] Lazily load `uri` The `uri` library will be a default gem on ruby 2.7. Because of this, requiring `uri` at the top of this file will cause the default `uri` gem to be activated during `bundler/setup`, and that will result in gem activation conflicts. So, it's better to lazily load `uri` here. --- lib/rubygems/specification_policy.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/rubygems/specification_policy.rb b/lib/rubygems/specification_policy.rb index 588f6a6e335d..c3c496db9b52 100644 --- a/lib/rubygems/specification_policy.rb +++ b/lib/rubygems/specification_policy.rb @@ -1,4 +1,3 @@ -require 'uri' require 'rubygems/user_interaction' class Gem::SpecificationPolicy @@ -364,6 +363,7 @@ def validate_lazy_metadata # Make sure a homepage is valid HTTP/HTTPS URI if homepage and not homepage.empty? + require 'uri' begin homepage_uri = URI.parse(homepage) unless [URI::HTTP, URI::HTTPS].member? homepage_uri.class