isValidSdk function
Whether path looks like a Dart SDK root usable by the analyzer.
Implementation
bool isValidSdk(String path) {
final internal = Directory(p.join(path, 'lib', '_internal'));
final hasInternal = internal.existsSync();
final hasLibrariesJson = File(
p.join(path, 'lib', 'libraries.json'),
).existsSync();
if (!hasInternal && !hasLibrariesJson) return false;
return hasLibrariesJson ||
File(p.join(internal.path, 'libraries.dart')).existsSync() ||
File(p.join(internal.path, 'allowed_experiments.json')).existsSync() ||
File(
p.join(internal.path, 'sdk_library_metadata', 'lib', 'libraries.dart'),
).existsSync() ||
File(
p.join(path, 'bin', Platform.isWindows ? 'dart.exe' : 'dart'),
).existsSync();
}