isValidSdk function

bool isValidSdk(
  1. String path
)

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();
}