search for matching line with java version

do not just try to read java version from first line, but search for the matching line from java output
This commit is contained in:
shuebnersr
2017-09-20 14:26:04 +02:00
committed by GitHub
parent e4888a507e
commit d89532435d

View File

@@ -23,7 +23,8 @@ Facter.add(:java_version) do
setcode do setcode do
unless [ 'openbsd', 'darwin' ].include? Facter.value(:operatingsystem).downcase unless [ 'openbsd', 'darwin' ].include? Facter.value(:operatingsystem).downcase
if Facter::Util::Resolution.which('java') if Facter::Util::Resolution.which('java')
Facter::Util::Resolution.exec('java -Xmx12m -version 2>&1').lines.first.split(/"/)[1].strip Facter::Util::Resolution.exec('java -Xmx12m -version 2>&1').lines.each { |line| return $~[1] if /^java version \"(.+)\"$/ =~ line }
nil
end end
end end
end end
@@ -35,7 +36,8 @@ Facter.add(:java_version) do
setcode do setcode do
Facter::Util::Resolution.with_env("PATH" => '/usr/local/jdk-1.7.0/jre/bin:/usr/local/jre-1.7.0/bin') do Facter::Util::Resolution.with_env("PATH" => '/usr/local/jdk-1.7.0/jre/bin:/usr/local/jre-1.7.0/bin') do
if Facter::Util::Resolution.which('java') if Facter::Util::Resolution.which('java')
Facter::Util::Resolution.exec('java -Xmx12m -version 2>&1').lines.first.split(/"/)[1].strip Facter::Util::Resolution.exec('java -Xmx12m -version 2>&1').lines.lines.each { |line| return $~[1] if /^java version \"(.+)\"$/ =~ line }
nil
end end
end end
end end
@@ -46,7 +48,8 @@ Facter.add(:java_version) do
has_weight 100 has_weight 100
setcode do setcode do
unless /Unable to find any JVMs matching version/ =~ Facter::Util::Resolution.exec('/usr/libexec/java_home --failfast 2>&1') unless /Unable to find any JVMs matching version/ =~ Facter::Util::Resolution.exec('/usr/libexec/java_home --failfast 2>&1')
Facter::Util::Resolution.exec('java -Xmx12m -version 2>&1').lines.first.split(/"/)[1].strip Facter::Util::Resolution.exec('java -Xmx12m -version 2>&1').lines.lines.each { |line| return $~[1] if /^java version \"(.+)\"$/ =~ line }
nil
end end
end end
end end