Sha256: ad13402382f15fb025d23f668a9f721c72b08193a2093a41c233b91343016a8e
Contents?: true
Size: 1.05 KB
Versions: 2
Compression:
Stored size: 1.05 KB
Contents
require 'rake' require 'albacore/logging' module Albacore extend Logging def self.find_msbuild_versions return nil unless ::Rake::Win32.windows? require 'win32/registry' retval = Hash.new begin Win32::Registry::HKEY_LOCAL_MACHINE.open('SOFTWARE\Microsoft\MSBuild\ToolsVersions') do |toolsVersion| toolsVersion.each_key do |key| begin versionKey = toolsVersion.open(key) version = key.to_i msb = File.join(versionKey['MSBuildToolsPath'],'msbuild.exe') retval[version] = msb rescue error "failed to open #{key}" end end end rescue error "failed to open HKLM\\SOFTWARE\\Microsoft\\MSBuild\\ToolsVersions" end # MSBuild 15, assume default installation path vs2017_dir = Dir[File.join(ENV['ProgramFiles(x86)'].gsub('\\', '/'), 'Microsoft Visual Studio', '2017', '*')].first retval[15] = File.join(vs2017_dir, 'MSBuild', '15.0', 'Bin', 'msbuild.exe') unless vs2017_dir.nil? return retval end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
albacore-3.0.1 | ./lib/albacore/task_types/find_msbuild_versions.rb |
albacore-3.0.0.pre.alpha.6 | ./lib/albacore/task_types/find_msbuild_versions.rb |