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