File: java_version.rb

package info (click to toggle)
puppet-module-puppetlabs-java 11.1.0-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 524 kB
  • sloc: ruby: 1,718; sh: 10; makefile: 4
file content (27 lines) | stat: -rw-r--r-- 832 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# frozen_string_literal: true

# Fact: java_version
#
# Purpose: get full java version string
#
# Resolution:
#   Tests for presence of java, returns nil if not present
#   returns output of "java -version" and splits on '"'
#
# Caveats:
#   none
#
# Notes:
#   None
Facter.add(:java_version) do
  setcode do
    if ['darwin'].include? Facter.value(:kernel).downcase
      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
    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
end