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