From 8724592f2b81af40c22a7c18b22ca564ead80dfa Mon Sep 17 00:00:00 2001 From: Peter Souter Date: Fri, 5 Dec 2014 17:35:38 +0000 Subject: [PATCH] (MODULES-1570) `java_version` fact Adapted from the many found on Github, simply runs `java -version` and strips the results. From what I can find there aren't many edge cases for the result `java -version 2>&1` could return, so this should be fairly compatible. --- lib/facter/java_version.rb | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 lib/facter/java_version.rb diff --git a/lib/facter/java_version.rb b/lib/facter/java_version.rb new file mode 100644 index 0000000..785c99c --- /dev/null +++ b/lib/facter/java_version.rb @@ -0,0 +1,19 @@ +# Fact: java_version +# +# Purpose: store java versions in the config DB +# +# Resolution: +# Tests for presence of java, returns nil if not present +# returns output of "java -version" and splits on \n + '"' +# +# Caveats: +# none +# +# Notes: +# None +Facter.add(:java_version) do + setcode do + t_java = Facter::Util::Resolution.exec("java -version 2>&1") + java_version = t_java.to_s.lines.first.strip.split(/version/)[1].gsub(/"/, "").strip + end +end \ No newline at end of file