Merge pull request #257 from shuebnersr/fact1754_java_version_fails_when_JAVA_TOOL_OPTIONS_is_used
(FACT-1754) search for matching line with java version
This commit is contained in:
@@ -22,9 +22,11 @@ Facter.add(:java_version) do
|
|||||||
# positive matches, so this needs to be done manually in setcode.
|
# positive matches, so this needs to be done manually in setcode.
|
||||||
setcode do
|
setcode do
|
||||||
unless [ 'openbsd', 'darwin' ].include? Facter.value(:operatingsystem).downcase
|
unless [ 'openbsd', 'darwin' ].include? Facter.value(:operatingsystem).downcase
|
||||||
|
version = nil
|
||||||
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| version = $~[1] if /^.+ version \"(.+)\"$/ =~ line }
|
||||||
end
|
end
|
||||||
|
version
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -34,9 +36,11 @@ Facter.add(:java_version) do
|
|||||||
has_weight 100
|
has_weight 100
|
||||||
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
|
||||||
|
version = nil
|
||||||
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| version = $~[1] if /^.+ version \"(.+)\"$/ =~ line }
|
||||||
end
|
end
|
||||||
|
version
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -46,7 +50,9 @@ 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
|
version = nil
|
||||||
|
Facter::Util::Resolution.exec('java -Xmx12m -version 2>&1').lines.each { |line| version = $~[1] if /^.+ version \"(.+)\"$/ =~ line }
|
||||||
|
version
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ describe Facter::Util::Fact do
|
|||||||
let(:facts) { {:operatingsystem => 'OpenBSD'} }
|
let(:facts) { {:operatingsystem => 'OpenBSD'} }
|
||||||
it do
|
it do
|
||||||
java_version_output = <<-EOS
|
java_version_output = <<-EOS
|
||||||
|
Picked up JAVA_TOOL_OPTIONS: -Djava.net.preferIPv4Stack=true
|
||||||
openjdk version "1.7.0_71"
|
openjdk version "1.7.0_71"
|
||||||
OpenJDK Runtime Environment (build 1.7.0_71-b14)
|
OpenJDK Runtime Environment (build 1.7.0_71-b14)
|
||||||
OpenJDK 64-Bit Server VM (build 24.71-b01, mixed mode)
|
OpenJDK 64-Bit Server VM (build 24.71-b01, mixed mode)
|
||||||
@@ -30,6 +31,7 @@ OpenJDK 64-Bit Server VM (build 24.71-b01, mixed mode)
|
|||||||
let(:facts) { {:operatingsystem => 'Darwin'} }
|
let(:facts) { {:operatingsystem => 'Darwin'} }
|
||||||
it do
|
it do
|
||||||
java_version_output = <<-EOS
|
java_version_output = <<-EOS
|
||||||
|
Picked up JAVA_TOOL_OPTIONS: -Djava.net.preferIPv4Stack=true
|
||||||
java version "1.7.0_71"
|
java version "1.7.0_71"
|
||||||
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)
|
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)
|
||||||
Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)
|
Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)
|
||||||
@@ -46,6 +48,7 @@ Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)
|
|||||||
let(:facts) { {:operatingsystem => 'MyOS'} }
|
let(:facts) { {:operatingsystem => 'MyOS'} }
|
||||||
it do
|
it do
|
||||||
java_version_output = <<-EOS
|
java_version_output = <<-EOS
|
||||||
|
Picked up JAVA_TOOL_OPTIONS: -Djava.net.preferIPv4Stack=true
|
||||||
java version "1.7.0_71"
|
java version "1.7.0_71"
|
||||||
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)
|
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)
|
||||||
Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)
|
Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)
|
||||||
|
|||||||
Reference in New Issue
Block a user