fix: Switch to safer Open3 to determine OS_VERSION
This commit is contained in:
parent
144e9b375e
commit
a19b0d0fa9
|
@ -12,6 +12,8 @@
|
||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
|
require 'open3'
|
||||||
|
|
||||||
module Google
|
module Google
|
||||||
module Apis
|
module Apis
|
||||||
# Client library version
|
# Client library version
|
||||||
|
@ -21,16 +23,19 @@ module Google
|
||||||
# @private
|
# @private
|
||||||
OS_VERSION = begin
|
OS_VERSION = begin
|
||||||
if RUBY_PLATFORM =~ /mswin|win32|mingw|bccwin|cygwin/
|
if RUBY_PLATFORM =~ /mswin|win32|mingw|bccwin|cygwin/
|
||||||
`ver`.sub(/\s*\[Version\s*/, '/').sub(']', '')
|
output, _ = Open3.capture2('ver')
|
||||||
|
output.sub(/\s*\[Version\s*/, '/').sub(']', '')
|
||||||
elsif RUBY_PLATFORM =~ /darwin/i
|
elsif RUBY_PLATFORM =~ /darwin/i
|
||||||
"Mac OS X/#{`sw_vers -productVersion`}"
|
output, _ = Open3.capture2('sw_vers', '-productVersion')
|
||||||
|
"Mac OS X/#{output}"
|
||||||
elsif RUBY_PLATFORM == 'java'
|
elsif RUBY_PLATFORM == 'java'
|
||||||
require 'java'
|
require 'java'
|
||||||
name = java.lang.System.getProperty('os.name')
|
name = java.lang.System.getProperty('os.name')
|
||||||
version = java.lang.System.getProperty('os.version')
|
version = java.lang.System.getProperty('os.version')
|
||||||
"#{name}/#{version}"
|
"#{name}/#{version}"
|
||||||
else
|
else
|
||||||
`uname -sr`.sub(' ', '/')
|
output, _ = Open3.capture2('uname', '-sr')
|
||||||
|
output.sub(' ', '/')
|
||||||
end.strip
|
end.strip
|
||||||
rescue
|
rescue
|
||||||
RUBY_PLATFORM
|
RUBY_PLATFORM
|
||||||
|
|
Loading…
Reference in New Issue