From 63246fbc6c725d0bc78641a015538a6147ba4058 Mon Sep 17 00:00:00 2001 From: Xu Cheng Date: Fri, 4 Sep 2015 16:33:37 +0800 Subject: [PATCH] config: show all installed JDK Closes Homebrew/homebrew#43730. Signed-off-by: Xu Cheng --- Library/Homebrew/cmd/config.rb | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Library/Homebrew/cmd/config.rb b/Library/Homebrew/cmd/config.rb index a24d9c1cb2..9db2c43c69 100644 --- a/Library/Homebrew/cmd/config.rb +++ b/Library/Homebrew/cmd/config.rb @@ -1,5 +1,6 @@ require "hardware" require "software_spec" +require "rexml/document" module Homebrew def config @@ -118,14 +119,13 @@ module Homebrew end def describe_java - if which("java").nil? - "N/A" - elsif !quiet_system "/usr/libexec/java_home", "--failfast" - "N/A" - else - java = `java -version 2>&1`.lines.first.chomp - java =~ /java version "(.+?)"/ ? $1 : java + java_xml = Utils.popen_read("/usr/libexec/java_home", "--xml", "--failfast") + return "N/A" unless $?.success? + javas = [] + REXML::XPath.each(REXML::Document.new(java_xml), "//key[text()='JVMVersion']/following-sibling::string") do |item| + javas << item.text end + javas.uniq.join(", ") end def dump_verbose_config(f = $stdout)