44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
# File 'lib/bundler/dsl.rb', line 44
def eval_gemfile(gemfile, contents = nil)
with_gemfile(gemfile) do |current_gemfile|
contents ||= Bundler.read_file(current_gemfile)
instance_eval(contents, current_gemfile, 1)
rescue GemfileEvalError => e
message = "There was an error evaluating `#{File.basename current_gemfile}`: #{e.message}"
raise DSLError.new(message, current_gemfile, e.backtrace, contents)
rescue GemfileError, InvalidArgumentError, InvalidOption, DeprecatedError, ScriptError => e
message = "There was an error parsing `#{File.basename current_gemfile}`: #{e.message}"
raise DSLError.new(message, current_gemfile, e.backtrace, contents)
rescue StandardError => e
raise unless e.backtrace_locations.first.path == current_gemfile
message = "There was an error parsing `#{File.basename current_gemfile}`: #{e.message}"
raise DSLError.new(message, current_gemfile, e.backtrace, contents)
end
end
|