#!/usr/bin/env ruby # frozen_string_literal: true require "bundler/shared_helpers" Bundler::SharedHelpers.major_deprecation(3, "the bundle_ruby executable has been removed in favor of `bundle platform --ruby`") Signal.trap("INT") { exit 1 } require "bundler/errors" require "bundler/ruby_version" require "bundler/ruby_dsl" module Bundler class Dsl include RubyDsl attr_accessor :ruby_version def initialize @ruby_version = nil end def eval_gemfile(gemfile, contents = nil) contents ||= File.open(gemfile, "rb", &:read) instance_eval(contents, gemfile.to_s, 1) rescue SyntaxError => e bt = e.message.split("\n")[1..-1] raise GemfileError, ["Gemfile syntax error:", *bt].join("\n") rescue ScriptError, RegexpError, NameError, ArgumentError => e e.backtrace[0] = "#{e.backtrace[0]}: #{e.message} (#{e.class})" STDERR.puts e.backtrace.join("\n ") raise GemfileError, "There was an error in your Gemfile," \ " and Bundler cannot continue." end def source(source, options = {}) end def gem(name, *args) end def group(*args) end end end dsl = Bundler::Dsl.new begin dsl.eval_gemfile(Bundler::SharedHelpers.default_gemfile) ruby_version = dsl.ruby_version if ruby_version puts ruby_version else puts "No ruby version specified" end rescue Bundler::GemfileError => e puts e.message exit(-1) end