Overhaul Xcode/CLT config and doctor checks #14941
Comments
We should start tracking version numbers for both standalone CLT and Xcode CLT. |
Deconstructing a CLT version string,
at first glance the last component appears to be a timestamp, but...
and that last component can be seen in 4.3 and 4.4 versions of the CLT, so I'm lost. I've tried to find listing of canonical CLT versions, but it doesn't seem to exist. |
Some early cleanups here: https://github.com/jacknagel/homebrew/compare/config |
Went through all the standalone CLT packages and extracted the "version" numbers of the DeveloperToolsCLI pkg:
So basically they are useless. |
Kinda want to delete every xcode/clt related doctor check and start over. |
Questions:
|
My CLT-from-Xcode is: We could differentiate between them by using a hash of a particular file (or the file list or something)? |
Here's a patch that implements the first and part of the second of my initial suggestions: https://github.com/jacknagel/homebrew/compare/config In short, The "Xcode" line is omitted from |
We support three configurations: Xcode-only, CLT-only, and Xcode with CLT. Our configuration output should correctly reflect this. While MacOS::Xcode.version has to continue to return a guess if Xcode is not installed in order to maintain backwards compatibility, this is an implementation detail that we don't need to expose to the user. And it makes `brew --config` output confusing. So let's only print the "Xcode" line when an actual Xcode installation is present. This makes it easy to quickly figure out which of the three possible configurations the user is running. Addresses #14941, more or less.
Pushed 2c1ad3c. I'd still like to rework the doctor checks to be less confusing, but I'm lacking the motivation to sort that out. |
Good work! |
We support three configurations: Xcode-only, CLT-only, and Xcode with CLT. Our configuration output should correctly reflect this. While MacOS::Xcode.version has to continue to return a guess if Xcode is not installed in order to maintain backwards compatibility, this is an implementation detail that we don't need to expose to the user. And it makes `brew --config` output confusing. So let's only print the "Xcode" line when an actual Xcode installation is present. This makes it easy to quickly figure out which of the three possible configurations the user is running. Addresses Homebrew#14941, more or less.
We support three configurations: Xcode-only, CLT-only, and Xcode with CLT. Our configuration output should correctly reflect this. While MacOS::Xcode.version has to continue to return a guess if Xcode is not installed in order to maintain backwards compatibility, this is an implementation detail that we don't need to expose to the user. And it makes `brew --config` output confusing. So let's only print the "Xcode" line when an actual Xcode installation is present. This makes it easy to quickly figure out which of the three possible configurations the user is running. Addresses Homebrew#14941, more or less.
Clearly this has become an annoyance for debugging things. Here are my suggestions:
The text was updated successfully, but these errors were encountered: