os/mac/xcode: add fast path for Xcode version detection
This commit is contained in:
parent
2cbe3886e0
commit
04ad24efe8
@ -192,6 +192,15 @@ module OS
|
|||||||
# if return is used in the middle, which we do many times in here.
|
# if return is used in the middle, which we do many times in here.
|
||||||
return if !MacOS::Xcode.installed? && !MacOS::CLT.installed?
|
return if !MacOS::Xcode.installed? && !MacOS::CLT.installed?
|
||||||
|
|
||||||
|
if MacOS::Xcode.installed?
|
||||||
|
# Fast path that will probably almost always work unless `xcode-select -p` is misconfigured
|
||||||
|
version_plist = T.must(prefix).parent/"version.plist"
|
||||||
|
if version_plist.file?
|
||||||
|
data = Plist.parse_xml(version_plist, marshal: false)
|
||||||
|
version = data["CFBundleShortVersionString"] if data
|
||||||
|
return version if version
|
||||||
|
end
|
||||||
|
|
||||||
%W[
|
%W[
|
||||||
#{prefix}/usr/bin/xcodebuild
|
#{prefix}/usr/bin/xcodebuild
|
||||||
#{which("xcodebuild")}
|
#{which("xcodebuild")}
|
||||||
@ -210,6 +219,7 @@ module OS
|
|||||||
when "515.0" then return "2.0"
|
when "515.0" then return "2.0"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
detect_version_from_clang_version
|
detect_version_from_clang_version
|
||||||
end
|
end
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user