我在两个不同的环境(Windows XP 和 Linux)中运行 Buildr,因此我在不同的位置安装了本地 Java 和 Scala。我有以下做法来检查是否设置了环境变量:
require 'buildr/scala'
# Can I put these checks on a function ? How ?
ENV['JAVA_HOME'] ||= Buildr.settings.user['java_home']
if ENV['JAVA_HOME'].nil? then
puts "Required environment variable JAVA_HOME was not set. Value can also be set in personal settings."
Process.exit 1
end
puts 'JAVA_HOME = ' + ENV['JAVA_HOME']
ENV['SCALA_HOME'] ||= Buildr.settings.user['scala_home']
if ENV['SCALA_HOME'].nil? then
puts "Required environment variable SCALA_HOME was not set. Value can also be set in personal settings."
Process.exit 1
end
puts 'SCALA_HOME = ' + ENV['SCALA_HOME']
puts 'Scala version: ' + Scala.version
define "HelloWorld" do
puts 'Hello World !'
end
但是我如何退出 Buildr 以便它以这种消息退出:
Buildr aborted!
RuntimeError : Scala compiler crashed:
#<NullPointerException: unknown exception>
(See full trace by running task with --trace)
我应该抛出一个异常(如果是,如何在 Ruby 中做到这一点)?