From f62c3847b58a7b30a43791d42e2743303b40ede7 Mon Sep 17 00:00:00 2001 From: hsbt Date: Wed, 5 Dec 2018 11:29:56 +0000 Subject: Revert "Remove `libexec/bundle_ruby`" This reverts commit 3f708604920f2fd7a105d5f092240737add15ef1. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66220 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- libexec/bundle_ruby | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100755 libexec/bundle_ruby (limited to 'libexec') diff --git a/libexec/bundle_ruby b/libexec/bundle_ruby new file mode 100755 index 0000000000..2209c6195f --- /dev/null +++ b/libexec/bundle_ruby @@ -0,0 +1,60 @@ +#!/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 -- cgit v1.2.1