mirror of
https://github.com/redmine/redmine.git
synced 2025-10-26 07:46:17 +01:00
Fix warning during startup: "Unresolved or ambiguous specs during Gem::Specification.reset" (#41749).
Patch by Katsuya HIDAKA (user:hidakatsuya). git-svn-id: https://svn.redmine.org/redmine/trunk@23269 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
19
Gemfile
19
Gemfile
@@ -52,16 +52,23 @@ end
|
||||
|
||||
# Include database gems for the adapters found in the database
|
||||
# configuration file
|
||||
require 'erb'
|
||||
require 'yaml'
|
||||
database_file = File.join(File.dirname(__FILE__), "config/database.yml")
|
||||
if File.exist?(database_file)
|
||||
yaml_config = ERB.new(IO.read(database_file)).result
|
||||
database_config = YAML.respond_to?(:unsafe_load) ? YAML.unsafe_load(yaml_config) : YAML.load(yaml_config)
|
||||
adapters = database_config.values.filter_map {|c| c['adapter']}.uniq
|
||||
database_config = File.read(database_file)
|
||||
|
||||
# Requiring libraries in a Gemfile may cause Bundler warnings or
|
||||
# unexpected behavior, especially if multiple gem versions are available.
|
||||
# So, process database.yml through ERB only if it contains ERB syntax
|
||||
# in the adapter setting. See https://www.redmine.org/issues/41749.
|
||||
if database_config.match?(/^ *adapter: *<%=/)
|
||||
require 'erb'
|
||||
database_config = ERB.new(database_config).result
|
||||
end
|
||||
|
||||
adapters = database_config.scan(/^ *adapter: *(.*)/).flatten.uniq
|
||||
if adapters.any?
|
||||
adapters.each do |adapter|
|
||||
case adapter
|
||||
case adapter.strip
|
||||
when 'mysql2'
|
||||
gem 'mysql2', '~> 0.5.0'
|
||||
gem "with_advisory_lock"
|
||||
|
||||
Reference in New Issue
Block a user