summaryrefslogtreecommitdiff
path: root/lib/ohai/plugins/mono.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/ohai/plugins/mono.rb')
-rw-r--r--lib/ohai/plugins/mono.rb35
1 files changed, 22 insertions, 13 deletions
diff --git a/lib/ohai/plugins/mono.rb b/lib/ohai/plugins/mono.rb
index f5bb8bcd..a8bcf6b5 100644
--- a/lib/ohai/plugins/mono.rb
+++ b/lib/ohai/plugins/mono.rb
@@ -18,24 +18,33 @@
Ohai.plugin(:Mono) do
provides "languages/mono"
-
depends "languages"
collect_data do
- output = nil
-
- mono = Mash.new
- so = shell_out("mono -V")
- if so.exitstatus == 0
- output = so.stdout.split
- if output.length >= 4
- mono[:version] = output[4]
- end
- if output.length >= 11
- mono[:builddate] = "%s %s %s %s" % [output[6], output[7], output[8], output[11].delete!(")")]
+ begin
+ # Mono JIT compiler version 4.2.3 (Stable 4.2.3.4/832de4b Wed Mar 30 13:57:48 PDT 2016)
+ # Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
+ # TLS: normal
+ # SIGSEGV: altstack
+ # Notification: kqueue
+ # Architecture: amd64
+ # Disabled: none
+ # Misc: softdebug
+ # LLVM: supported, not enabled.
+ # GC: sgen
+ so = shell_out("mono -V")
+ if so.exitstatus == 0
+ mono = Mash.new
+ output = so.stdout.split
+ mono[:version] = output[4] unless output[4].nil?
+ if output.length >= 12
+ mono[:builddate] = "%s %s %s %s %s %s" % [output[7], output[8], output[9], output[10], output[11], output[12].delete!(")")]
+ end
+ languages[:mono] = mono unless mono.empty?
end
- languages[:mono] = mono if mono[:version]
+ rescue Ohai::Exceptions::Exec
+ Ohai::Log.debug('Mono plugin: Could not shell_out "mono -V". Skipping plugin')
end
end
end