From d4d43c16ba8844fa66d474709a9a99b63db243b6 Mon Sep 17 00:00:00 2001 From: jordanbreen28 Date: Mon, 28 Nov 2022 12:09:23 +0000 Subject: [PATCH 1/2] (538)-unresolved-fact-fix Fix for issue #538 --- lib/facter/java_version.rb | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/facter/java_version.rb b/lib/facter/java_version.rb index 0029cb54..adf96997 100644 --- a/lib/facter/java_version.rb +++ b/lib/facter/java_version.rb @@ -16,11 +16,14 @@ Facter.add(:java_version) do setcode do if ['darwin'].include? Facter.value(:kernel).downcase - return nil unless Facter::Core::Execution.execute('/usr/libexec/java_home --failfast', { on_fail: false }) + if Facter::Core::Execution.execute('/usr/libexec/java_home --failfast', { on_fail: false }) + version = Facter::Core::Execution.execute('java -Xmx12m -version 2>&1').lines.find { |line| line.include?('version') } + end else - return nil unless Facter::Core::Execution.which('java') + unless Facter::Core::Execution.which('java').nil? + version = Facter::Core::Execution.execute('java -Xmx12m -version 2>&1').lines.find { |line| line.include?('version') } + end end - version = Facter::Core::Execution.execute('java -Xmx12m -version 2>&1').lines.find { |line| line.include?('version') } version[%r{\"(.*?)\"}, 1] if version end end From aba7337363850c3795e8f048a683a214401f5ea9 Mon Sep 17 00:00:00 2001 From: jordanbreen28 Date: Mon, 28 Nov 2022 13:29:50 +0000 Subject: [PATCH 2/2] fix Spec test failures --- lib/facter/java_version.rb | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/lib/facter/java_version.rb b/lib/facter/java_version.rb index adf96997..8c0c02c5 100644 --- a/lib/facter/java_version.rb +++ b/lib/facter/java_version.rb @@ -19,10 +19,8 @@ if Facter::Core::Execution.execute('/usr/libexec/java_home --failfast', { on_fail: false }) version = Facter::Core::Execution.execute('java -Xmx12m -version 2>&1').lines.find { |line| line.include?('version') } end - else - unless Facter::Core::Execution.which('java').nil? - version = Facter::Core::Execution.execute('java -Xmx12m -version 2>&1').lines.find { |line| line.include?('version') } - end + elsif Facter::Core::Execution.which('java') + version = Facter::Core::Execution.execute('java -Xmx12m -version 2>&1').lines.find { |line| line.include?('version') } end version[%r{\"(.*?)\"}, 1] if version end