Version 2.17.0-197.0.dev

Merge commit '1a3eefd6994e9eb564aaa769331bf8bb7f355dcd' into 'dev'
diff --git a/pkg/analyzer/test/src/context/packages_test.dart b/pkg/analyzer/test/src/context/packages_test.dart
index 17cef59..aead226 100644
--- a/pkg/analyzer/test/src/context/packages_test.dart
+++ b/pkg/analyzer/test/src/context/packages_test.dart
@@ -20,32 +20,6 @@
     newFile('/test/lib/test.dart', content: '');
   }
 
-  void test_findPackagesFrom_fallbackToDotPackages() {
-    newDotPackagesFile('/test', content: '''
-test:lib/
-bbb:${toUriStr('/packages/bbb/lib')}
-''');
-
-    var packages = findPackagesFrom(
-      resourceProvider,
-      getFile('/test/lib/a.dart'),
-    );
-
-    _assertPackage(
-      packages,
-      name: 'test',
-      expectedLibPath: '/test/lib',
-      expectedVersion: null,
-    );
-
-    _assertPackage(
-      packages,
-      name: 'bbb',
-      expectedLibPath: '/packages/bbb/lib',
-      expectedVersion: null,
-    );
-  }
-
   void test_findPackagesFrom_missing() {
     var packages = findPackagesFrom(
       resourceProvider,
@@ -55,52 +29,6 @@
     expect(packages.packages, isEmpty);
   }
 
-  void test_findPackagesFrom_preferPackageConfig() {
-    newFile('/test/.dart_tool/package_config.json', content: '''
-{
-  "configVersion": 2,
-  "packages": [
-    {
-      "name": "test",
-      "rootUri": "../",
-      "packageUri": "lib/",
-      "languageVersion": "2.6"
-    },
-    {
-      "name": "aaa",
-      "rootUri": "${toUriStr('/packages/aaa')}",
-      "packageUri": "lib/",
-      "languageVersion": "2.3"
-    }
-  ]
-}
-''');
-
-    newDotPackagesFile('/test', content: '''
-test:lib/
-bbb:${toUriStr('/packages/bbb/lib')}
-''');
-
-    var packages = findPackagesFrom(
-      resourceProvider,
-      getFile('/test/lib/a.dart'),
-    );
-
-    _assertPackage(
-      packages,
-      name: 'test',
-      expectedLibPath: '/test/lib',
-      expectedVersion: Version(2, 6, 0),
-    );
-
-    _assertPackage(
-      packages,
-      name: 'aaa',
-      expectedLibPath: '/packages/aaa/lib',
-      expectedVersion: Version(2, 3, 0),
-    );
-  }
-
   test_packageForPath() {
     var packages = Packages(
       {
@@ -137,29 +65,6 @@
     check('/home/ddd/lib/d.dart', null);
   }
 
-  test_parseDotPackagesFile() {
-    var file = newDotPackagesFile('/test', content: '''
-# Generated by pub
-aaa:${toUriStr('/packages/aaa/lib/')}
-test:lib/
-''');
-    var packages = parseDotPackagesFile(resourceProvider, file);
-
-    _assertPackage(
-      packages,
-      name: 'test',
-      expectedLibPath: '/test/lib',
-      expectedVersion: null,
-    );
-
-    _assertPackage(
-      packages,
-      name: 'aaa',
-      expectedLibPath: '/packages/aaa/lib',
-      expectedVersion: null,
-    );
-  }
-
   test_parsePackageConfigJsonFile() {
     var file = newFile('/test/.dart_tool/package_config.json', content: '''
 {
@@ -209,21 +114,6 @@
     );
   }
 
-  test_parsePackagesFile_dotPackages() {
-    var dotPackagesFile = newDotPackagesFile('/test', content: '''
-bbb:${toUriStr('/packages/bbb/lib')}
-''');
-
-    var packages = parsePackagesFile(resourceProvider, dotPackagesFile);
-
-    _assertPackage(
-      packages,
-      name: 'bbb',
-      expectedLibPath: '/packages/bbb/lib',
-      expectedVersion: null,
-    );
-  }
-
   test_parsePackagesFile_packageConfig() {
     var path = convertPath('/test/.dart_tool/package_config.json');
     newFile(path, content: '''
@@ -250,38 +140,6 @@
     );
   }
 
-  test_parsePackagesFile_packageConfig_fromDotPackages() {
-    newFile('/test/.dart_tool/package_config.json', content: '''
-{
-  "configVersion": 2,
-  "packages": [
-    {
-      "name": "aaa",
-      "rootUri": "${toUriStr('/packages/aaa')}",
-      "packageUri": "lib/",
-      "languageVersion": "2.3"
-    }
-  ]
-}
-''');
-
-    var dotPackagesFile = newDotPackagesFile('/test', content: '''
-bbb:${toUriStr('/packages/bbb/lib')}
-''');
-
-    var packages = parsePackagesFile(
-      resourceProvider,
-      dotPackagesFile,
-    );
-
-    _assertPackage(
-      packages,
-      name: 'aaa',
-      expectedLibPath: '/packages/aaa/lib',
-      expectedVersion: Version(2, 3, 0),
-    );
-  }
-
   void _assertPackage(
     Packages packages, {
     required String name,
diff --git a/pkg/analyzer/test/src/dart/analysis/context_locator_test.dart b/pkg/analyzer/test/src/dart/analysis/context_locator_test.dart
index 7022464..cddb12c 100644
--- a/pkg/analyzer/test/src/dart/analysis/context_locator_test.dart
+++ b/pkg/analyzer/test/src/dart/analysis/context_locator_test.dart
@@ -235,7 +235,7 @@
   void test_locateRoots_multiple_dirAndNestedDir_innerConfigurationFiles() {
     var outerRootFolder = newFolder('/outer');
     var innerOptionsFile = newAnalysisOptionsYamlFile('/outer/examples/inner');
-    var innerPackagesFile = newDotPackagesFile('/outer/examples/inner');
+    var innerPackagesFile = newPackageConfigJsonFile('/outer/examples/inner');
     var innerRootFolder = newFolder('/outer/examples/inner');
 
     var roots = contextLocator.locateRoots(
@@ -274,7 +274,7 @@
   void test_locateRoots_multiple_dirAndNestedDir_outerConfigurationFiles() {
     Folder outerRootFolder = newFolder('/test/outer');
     File outerOptionsFile = newAnalysisOptionsYamlFile('/test/outer');
-    File outerPackagesFile = newDotPackagesFile('/test/outer');
+    File outerPackagesFile = newPackageConfigJsonFile('/test/outer');
     Folder innerRootFolder = newFolder('/test/outer/examples/inner');
 
     List<ContextRoot> roots = contextLocator.locateRoots(
@@ -336,7 +336,7 @@
   void test_locateRoots_multiple_dirAndNestedFile_outerConfigurationFiles() {
     Folder outerRootFolder = newFolder('/test/outer');
     File outerOptionsFile = newAnalysisOptionsYamlFile('/test/outer');
-    File outerPackagesFile = newDotPackagesFile('/test/outer');
+    File outerPackagesFile = newPackageConfigJsonFile('/test/outer');
     File testFile = newFile('/test/outer/examples/inner/test.dart');
 
     List<ContextRoot> roots = contextLocator
@@ -353,11 +353,11 @@
   void test_locateRoots_multiple_dirAndSiblingDir_bothConfigurationFiles() {
     Folder outer1RootFolder = newFolder('/test/outer1');
     File outer1OptionsFile = newAnalysisOptionsYamlFile('/test/outer1');
-    File outer1PackagesFile = newDotPackagesFile('/test/outer1');
+    File outer1PackagesFile = newPackageConfigJsonFile('/test/outer1');
 
     Folder outer2RootFolder = newFolder('/test/outer2');
     File outer2OptionsFile = newAnalysisOptionsYamlFile('/test/outer2');
-    File outer2PackagesFile = newDotPackagesFile('/test/outer2');
+    File outer2PackagesFile = newPackageConfigJsonFile('/test/outer2');
 
     List<ContextRoot> roots = contextLocator.locateRoots(
         includedPaths: [outer1RootFolder.path, outer2RootFolder.path]);
@@ -400,10 +400,10 @@
   void test_locateRoots_multiple_dirAndSiblingFile() {
     Folder outer1RootFolder = newFolder('/test/outer1');
     File outer1OptionsFile = newAnalysisOptionsYamlFile('/test/outer1');
-    File outer1PackagesFile = newDotPackagesFile('/test/outer1');
+    File outer1PackagesFile = newPackageConfigJsonFile('/test/outer1');
 
     File outer2OptionsFile = newAnalysisOptionsYamlFile('/test/outer2');
-    File outer2PackagesFile = newDotPackagesFile('/test/outer2');
+    File outer2PackagesFile = newPackageConfigJsonFile('/test/outer2');
     File testFile = newFile('/test/outer2/test.dart');
 
     List<ContextRoot> roots = contextLocator
@@ -490,7 +490,7 @@
   exclude:
     - lib/test2.dart
 ''');
-    File packagesFile = newDotPackagesFile('/home/test');
+    File packagesFile = newPackageConfigJsonFile('/home/test');
     File testFile1 = newFile('/home/test/lib/test1.dart');
     File testFile2 = newFile('/home/test/lib/test2.dart');
 
@@ -552,7 +552,7 @@
 
   void test_locateRoots_multiple_fileAndSiblingFile_hasOptionsPackages() {
     File optionsFile = newAnalysisOptionsYamlFile('/home/test');
-    File packagesFile = newDotPackagesFile('/home/test');
+    File packagesFile = newPackageConfigJsonFile('/home/test');
     File testFile1 = newFile('/home/test/lib/test1.dart');
     File testFile2 = newFile('/home/test/lib/test2.dart');
 
@@ -571,7 +571,7 @@
   }
 
   void test_locateRoots_multiple_fileAndSiblingFile_hasPackages() {
-    File packagesFile = newDotPackagesFile('/home/test');
+    File packagesFile = newPackageConfigJsonFile('/home/test');
     File testFile1 = newFile('/home/test/lib/test1.dart');
     File testFile2 = newFile('/home/test/lib/test2.dart');
 
@@ -595,8 +595,8 @@
   /// just the file system root.
   void
       test_locateRoots_multiple_fileAndSiblingFile_hasPackages_overridePackages() {
-    newDotPackagesFile('/home/test'); // not used
-    File overridePackagesFile = newDotPackagesFile('/home');
+    newPackageConfigJsonFile('/home/test'); // not used
+    File overridePackagesFile = newPackageConfigJsonFile('/home');
     File testFile1 = newFile('/home/test/lib/test1.dart');
     File testFile2 = newFile('/home/test/lib/test2.dart');
 
@@ -789,7 +789,7 @@
   void test_locateRoots_nested_excluded_dot() {
     Folder outerRootFolder = newFolder('/test/outer');
     File outerOptionsFile = newAnalysisOptionsYamlFile('/test/outer');
-    File outerPackagesFile = newDotPackagesFile('/test/outer');
+    File outerPackagesFile = newPackageConfigJsonFile('/test/outer');
 
     newFolder('/test/outer/.examples');
     newAnalysisOptionsYamlFile('/test/outer/.examples/inner');
@@ -809,7 +809,7 @@
   void test_locateRoots_nested_excluded_explicit() {
     Folder outerRootFolder = newFolder('/test/outer');
     File outerOptionsFile = newAnalysisOptionsYamlFile('/test/outer');
-    File outerPackagesFile = newDotPackagesFile('/test/outer');
+    File outerPackagesFile = newPackageConfigJsonFile('/test/outer');
     Folder excludedFolder = newFolder('/test/outer/examples');
     newAnalysisOptionsYamlFile('/test/outer/examples/inner');
 
@@ -828,12 +828,13 @@
   void test_locateRoots_nested_multiple() {
     Folder outerRootFolder = newFolder('/test/outer');
     File outerOptionsFile = newAnalysisOptionsYamlFile('/test/outer');
-    File outerPackagesFile = newDotPackagesFile('/test/outer');
+    File outerPackagesFile = newPackageConfigJsonFile('/test/outer');
     Folder inner1RootFolder = newFolder('/test/outer/examples/inner1');
     File inner1OptionsFile =
         newAnalysisOptionsYamlFile('/test/outer/examples/inner1');
     Folder inner2RootFolder = newFolder('/test/outer/examples/inner2');
-    File inner2PackagesFile = newDotPackagesFile('/test/outer/examples/inner2');
+    File inner2PackagesFile =
+        newPackageConfigJsonFile('/test/outer/examples/inner2');
 
     List<ContextRoot> roots =
         contextLocator.locateRoots(includedPaths: [outerRootFolder.path]);
@@ -862,7 +863,7 @@
   void test_locateRoots_nested_options() {
     Folder outerRootFolder = newFolder('/test/outer');
     File outerOptionsFile = newAnalysisOptionsYamlFile('/test/outer');
-    File outerPackagesFile = newDotPackagesFile('/test/outer');
+    File outerPackagesFile = newPackageConfigJsonFile('/test/outer');
     Folder innerRootFolder = newFolder('/test/outer/examples/inner');
     File innerOptionsFile =
         newAnalysisOptionsYamlFile('/test/outer/examples/inner');
@@ -887,7 +888,7 @@
   void test_locateRoots_nested_options_overriddenOptions() {
     Folder outerRootFolder = newFolder('/test/outer');
     newAnalysisOptionsYamlFile('/test/outer');
-    File outerPackagesFile = newDotPackagesFile('/test/outer');
+    File outerPackagesFile = newPackageConfigJsonFile('/test/outer');
     newFolder('/test/outer/examples/inner');
     newAnalysisOptionsYamlFile('/test/outer/examples/inner');
     File overrideOptionsFile = newAnalysisOptionsYamlFile('/test/override');
@@ -907,11 +908,11 @@
   void test_locateRoots_nested_options_overriddenPackages() {
     Folder outerRootFolder = newFolder('/test/outer');
     File outerOptionsFile = newAnalysisOptionsYamlFile('/test/outer');
-    newDotPackagesFile('/test/outer');
+    newPackageConfigJsonFile('/test/outer');
     Folder innerRootFolder = newFolder('/test/outer/examples/inner');
     File innerOptionsFile =
         newAnalysisOptionsYamlFile('/test/outer/examples/inner');
-    File overridePackagesFile = newDotPackagesFile('/test/override');
+    File overridePackagesFile = newPackageConfigJsonFile('/test/override');
 
     List<ContextRoot> roots = contextLocator.locateRoots(
         includedPaths: [outerRootFolder.path],
@@ -934,11 +935,12 @@
   void test_locateRoots_nested_optionsAndPackages() {
     Folder outerRootFolder = newFolder('/test/outer');
     File outerOptionsFile = newAnalysisOptionsYamlFile('/test/outer');
-    File outerPackagesFile = newDotPackagesFile('/test/outer');
+    File outerPackagesFile = newPackageConfigJsonFile('/test/outer');
     Folder innerRootFolder = newFolder('/test/outer/examples/inner');
     File innerOptionsFile =
         newAnalysisOptionsYamlFile('/test/outer/examples/inner');
-    File innerPackagesFile = newDotPackagesFile('/test/outer/examples/inner');
+    File innerPackagesFile =
+        newPackageConfigJsonFile('/test/outer/examples/inner');
 
     List<ContextRoot> roots =
         contextLocator.locateRoots(includedPaths: [outerRootFolder.path]);
@@ -960,12 +962,12 @@
   void test_locateRoots_nested_optionsAndPackages_overriddenBoth() {
     Folder outerRootFolder = newFolder('/test/outer');
     newAnalysisOptionsYamlFile('/test/outer');
-    newDotPackagesFile('/test/outer');
+    newPackageConfigJsonFile('/test/outer');
     newFolder('/test/outer/examples/inner');
     newAnalysisOptionsYamlFile('/test/outer/examples/inner');
-    newDotPackagesFile('/test/outer/examples/inner');
+    newPackageConfigJsonFile('/test/outer/examples/inner');
     File overrideOptionsFile = newAnalysisOptionsYamlFile('/test/override');
-    File overridePackagesFile = newDotPackagesFile('/test/override');
+    File overridePackagesFile = newPackageConfigJsonFile('/test/override');
 
     List<ContextRoot> roots = contextLocator.locateRoots(
         includedPaths: [outerRootFolder.path],
@@ -1009,9 +1011,10 @@
   void test_locateRoots_nested_packages() {
     Folder outerRootFolder = newFolder('/test/outer');
     File outerOptionsFile = newAnalysisOptionsYamlFile('/test/outer');
-    File outerPackagesFile = newDotPackagesFile('/test/outer');
+    File outerPackagesFile = newPackageConfigJsonFile('/test/outer');
     Folder innerRootFolder = newFolder('/test/outer/examples/inner');
-    File innerPackagesFile = newDotPackagesFile('/test/outer/examples/inner');
+    File innerPackagesFile =
+        newPackageConfigJsonFile('/test/outer/examples/inner');
 
     List<ContextRoot> roots =
         contextLocator.locateRoots(includedPaths: [outerRootFolder.path]);
@@ -1033,9 +1036,10 @@
   void test_locateRoots_nested_packages_overriddenOptions() {
     Folder outerRootFolder = newFolder('/test/outer');
     newAnalysisOptionsYamlFile('/test/outer');
-    File outerPackagesFile = newDotPackagesFile('/test/outer');
+    File outerPackagesFile = newPackageConfigJsonFile('/test/outer');
     Folder innerRootFolder = newFolder('/test/outer/examples/inner');
-    File innerPackagesFile = newDotPackagesFile('/test/outer/examples/inner');
+    File innerPackagesFile =
+        newPackageConfigJsonFile('/test/outer/examples/inner');
     File overrideOptionsFile = newAnalysisOptionsYamlFile('/test/override');
 
     List<ContextRoot> roots = contextLocator.locateRoots(
@@ -1059,10 +1063,10 @@
   void test_locateRoots_nested_packages_overriddenPackages() {
     Folder outerRootFolder = newFolder('/test/outer');
     File outerOptionsFile = newAnalysisOptionsYamlFile('/test/outer');
-    newDotPackagesFile('/test/outer');
+    newPackageConfigJsonFile('/test/outer');
     newFolder('/test/outer/examples/inner');
-    newDotPackagesFile('/test/outer/examples/inner');
-    File overridePackagesFile = newDotPackagesFile('/test/override');
+    newPackageConfigJsonFile('/test/outer/examples/inner');
+    File overridePackagesFile = newPackageConfigJsonFile('/test/override');
 
     List<ContextRoot> roots = contextLocator.locateRoots(
         includedPaths: [outerRootFolder.path],
@@ -1079,7 +1083,7 @@
   void test_locateRoots_nested_packagesDirectory_included() {
     Folder outerRootFolder = newFolder('/test/outer');
     File outerOptionsFile = newAnalysisOptionsYamlFile('/test/outer');
-    File outerPackagesFile = newDotPackagesFile('/test/outer');
+    File outerPackagesFile = newPackageConfigJsonFile('/test/outer');
     File innerOptionsFile =
         newAnalysisOptionsYamlFile('/test/outer/packages/inner');
 
@@ -1152,7 +1156,7 @@
     - **.g.dart
 analyzer:
 ''');
-    File packagesFile = newDotPackagesFile('/test/root');
+    File packagesFile = newPackageConfigJsonFile('/test/root');
 
     List<ContextRoot> roots =
         contextLocator.locateRoots(includedPaths: [rootFolder.path]);
@@ -1178,7 +1182,7 @@
   exclude:
     - data/**.g.dart
 ''');
-    File packagesFile = newDotPackagesFile('/test/root');
+    File packagesFile = newPackageConfigJsonFile('/test/root');
 
     List<ContextRoot> roots =
         contextLocator.locateRoots(includedPaths: [rootFolder.path]);
@@ -1211,7 +1215,7 @@
   exclude:
     - data/**/foo/**
 ''');
-    File packagesFile = newDotPackagesFile('/test/root');
+    File packagesFile = newPackageConfigJsonFile('/test/root');
 
     List<ContextRoot> roots =
         contextLocator.locateRoots(includedPaths: [rootFolder.path]);
@@ -1243,7 +1247,7 @@
   exclude:
     - data/**
 ''');
-    File packagesFile = newDotPackagesFile('/test/root');
+    File packagesFile = newPackageConfigJsonFile('/test/root');
     newFolder('/test/root/data');
 
     List<ContextRoot> roots =
@@ -1277,7 +1281,7 @@
     - data/**
 ''');
 
-    File packagesFile = newDotPackagesFile('/test/root');
+    File packagesFile = newPackageConfigJsonFile('/test/root');
     newFolder('/test/root/data');
 
     List<ContextRoot> roots =
@@ -1314,7 +1318,7 @@
     - foo/**
 ''');
 
-    File packagesFile = newDotPackagesFile('/test/root');
+    File packagesFile = newPackageConfigJsonFile('/test/root');
     newFolder('/test/root/foo');
     newFolder('/test/root/bar');
 
@@ -1348,7 +1352,7 @@
   exclude:
     - data/**
 ''');
-    File packagesFile = newDotPackagesFile('/test/root');
+    File packagesFile = newPackageConfigJsonFile('/test/root');
     newFolder('/test/root/data');
     newAnalysisOptionsYamlFile('/test/root/data', content: '');
 
@@ -1375,7 +1379,7 @@
   void test_locateRoots_single_dir_directOptions_directPackages() {
     Folder rootFolder = newFolder('/test/root');
     File optionsFile = newAnalysisOptionsYamlFile('/test/root');
-    File packagesFile = newDotPackagesFile('/test/root');
+    File packagesFile = newPackageConfigJsonFile('/test/root');
 
     List<ContextRoot> roots =
         contextLocator.locateRoots(includedPaths: [rootFolder.path]);
@@ -1391,7 +1395,7 @@
   void test_locateRoots_single_dir_directOptions_inheritedPackages() {
     Folder rootFolder = newFolder('/test/root');
     File optionsFile = newAnalysisOptionsYamlFile('/test/root');
-    File packagesFile = newDotPackagesFile('/test');
+    File packagesFile = newPackageConfigJsonFile('/test');
 
     List<ContextRoot> roots =
         contextLocator.locateRoots(includedPaths: [rootFolder.path]);
@@ -1407,7 +1411,7 @@
   void test_locateRoots_single_dir_inheritedOptions_directPackages() {
     Folder rootFolder = newFolder('/test/root');
     File optionsFile = newAnalysisOptionsYamlFile('/test');
-    File packagesFile = newDotPackagesFile('/test/root');
+    File packagesFile = newPackageConfigJsonFile('/test/root');
 
     List<ContextRoot> roots =
         contextLocator.locateRoots(includedPaths: [rootFolder.path]);
@@ -1423,7 +1427,7 @@
   void test_locateRoots_single_dir_inheritedOptions_inheritedPackages() {
     Folder rootFolder = newFolder('/test/root');
     File optionsFile = newAnalysisOptionsYamlFile('/test');
-    File packagesFile = newDotPackagesFile('/test');
+    File packagesFile = newPackageConfigJsonFile('/test');
 
     List<ContextRoot> roots =
         contextLocator.locateRoots(includedPaths: [rootFolder.path]);
@@ -1439,7 +1443,7 @@
   void test_locateRoots_single_dir_prefer_packageConfigJson() {
     var rootFolder = newFolder('/test');
     var optionsFile = newAnalysisOptionsYamlFile('/test');
-    newDotPackagesFile('/test'); // the file is not used
+    newPackageConfigJsonFile('/test'); // the file is not used
     var packageConfigJsonFile = newPackageConfigJsonFile('/test');
 
     var roots = contextLocator.locateRoots(includedPaths: [rootFolder.path]);
@@ -1454,7 +1458,7 @@
 
   void test_locateRoots_single_file_inheritedOptions_directPackages() {
     File optionsFile = newAnalysisOptionsYamlFile('/test');
-    File packagesFile = newDotPackagesFile('/test/root');
+    File packagesFile = newPackageConfigJsonFile('/test/root');
     File testFile = newFile('/test/root/test.dart');
 
     List<ContextRoot> roots =
@@ -1470,7 +1474,7 @@
 
   void test_locateRoots_single_file_notExisting() {
     File optionsFile = newAnalysisOptionsYamlFile('/test');
-    File packagesFile = newDotPackagesFile('/test/root');
+    File packagesFile = newPackageConfigJsonFile('/test/root');
     File testFile = getFile('/test/root/test.dart');
 
     List<ContextRoot> roots =
diff --git a/pkg/analyzer/test/src/services/available_declarations_test.dart b/pkg/analyzer/test/src/services/available_declarations_test.dart
index efd0cc1..8626c96 100644
--- a/pkg/analyzer/test/src/services/available_declarations_test.dart
+++ b/pkg/analyzer/test/src/services/available_declarations_test.dart
@@ -14,6 +14,8 @@
 import 'package:test/test.dart';
 import 'package:test_reflective_loader/test_reflective_loader.dart';
 
+import '../dart/resolution/context_collection_resolution.dart';
+
 main() {
   defineReflectiveSuite(() {
     defineReflectiveTests(AvailableDeclarationsTest);
@@ -38,43 +40,20 @@
 
   Folder get sdkRoot => newFolder('/sdk');
 
-  void addDotPackagesDependency(String path, String name, String rootPath) {
-    var packagesFile = getFile(path);
-
-    String packagesContent;
-    try {
-      packagesContent = packagesFile.readAsStringSync();
-    } catch (_) {
-      packagesContent = '';
-    }
-
-    // Ignore if there is already the same package dependency.
-    if (packagesContent.contains('$name:file://')) {
-      return;
-    }
-
-    rootPath = convertPath(rootPath);
-    packagesContent += '$name:${toUri('$rootPath/lib')}\n';
-
-    packagesFile.writeAsStringSync(packagesContent);
-
-    createAnalysisContexts();
-  }
-
-  void addTestPackageDependency(String name, String rootPath) {
-    addDotPackagesDependency('/home/test/.packages', name, rootPath);
-  }
-
   /// Create all analysis contexts in `/home`.
   void createAnalysisContexts() {
+    createAnalysisContexts0('/home', '/home/test');
+  }
+
+  void createAnalysisContexts0(String rootPath, String testPath) {
     analysisContextCollection = AnalysisContextCollectionImpl(
-      includedPaths: [convertPath('/home')],
+      includedPaths: [convertPath(rootPath)],
       resourceProvider: resourceProvider,
       sdkPath: sdkRoot.path,
     );
 
-    var testPath = convertPath('/home/test');
-    testAnalysisContext = getContext(testPath);
+    var testPath_ = convertPath(testPath);
+    testAnalysisContext = getContext(testPath_);
   }
 
   /// Create an analysis options file based on the given arguments.
@@ -107,12 +86,36 @@
     );
 
     newFolder('/home/test');
-    newDotPackagesFile('/home/test', content: '''
-test:${toUri('/home/test/lib')}
-''');
+    writeTestPackageConfig(
+      PackageConfigFileBuilder(),
+    );
 
     createAnalysisContexts();
   }
+
+  void writePackageConfig(
+    String directoryPath,
+    PackageConfigFileBuilder config,
+  ) {
+    newPackageConfigJsonFile(
+      directoryPath,
+      content: config.toContent(
+        toUriStr: toUriStr,
+      ),
+    );
+    createAnalysisContexts();
+  }
+
+  void writeTestPackageConfig(PackageConfigFileBuilder config) {
+    config = config.copy();
+
+    config.add(
+      name: 'test',
+      rootPath: '/home/test',
+    );
+
+    writePackageConfig('/home/test', config);
+  }
 }
 
 @reflectiveTest
@@ -124,14 +127,20 @@
 dependencies:
   aaa: any
 ''');
-    addDotPackagesDependency('/home/bbb/.packages', 'aaa', '/home/aaa');
+    writePackageConfig(
+      '/home/bbb',
+      PackageConfigFileBuilder()..add(name: 'aaa', rootPath: '/home/aaa'),
+    );
     newFile('/home/bbb/lib/b.dart', content: 'class B {}');
 
     newPubspecYamlFile('/home/ccc', r'''
 dependencies:
   aaa: any
 ''');
-    addDotPackagesDependency('/home/ccc/.packages', 'aaa', '/home/aaa');
+    writePackageConfig(
+      '/home/ccc',
+      PackageConfigFileBuilder()..add(name: 'aaa', rootPath: '/home/aaa'),
+    );
     newFile('/home/ccc/lib/c.dart', content: 'class C {}');
 
     createAnalysisContexts();
@@ -563,7 +572,9 @@
 dependencies:
   aaa: any
 ''');
-    addTestPackageDependency('aaa', '/packages/aaa');
+    writeTestPackageConfig(
+      PackageConfigFileBuilder()..add(name: 'aaa', rootPath: '/packages/aaa'),
+    );
 
     var homeContext = analysisContextCollection.contextFor(homePath);
     var testContext = analysisContextCollection.contextFor(testPath);
@@ -3031,160 +3042,6 @@
 
 @reflectiveTest
 class GetLibrariesTest extends _Base {
-  test_bazel() async {
-    newFile('/home/aaa/lib/a.dart', content: 'class A {}');
-    newFile('/home/aaa/lib/src/a2.dart', content: 'class A2 {}');
-
-    newFile('/home/bbb/lib/b.dart', content: 'class B {}');
-    newFile('/home/bbb/lib/src/b2.dart', content: 'class B2 {}');
-
-    newFile('/home/material_button/BUILD', content: '');
-    newFile(
-      '/home/material_button/lib/button.dart',
-      content: 'class MaterialButton {}',
-    );
-    newFile(
-      '/home/material_button/test/button_test.dart',
-      content: 'class MaterialButtonTest {}',
-    );
-
-    newFile('/home/material_button/testing/BUILD', content: '');
-    newFile(
-      '/home/material_button/testing/lib/material_button_po.dart',
-      content: 'class MaterialButtonPO {}',
-    );
-
-    var packagesFilePath = '/home/material_button/.packages';
-    addDotPackagesDependency(packagesFilePath, 'aaa', '/home/aaa');
-    addDotPackagesDependency(packagesFilePath, 'bbb', '/home/bbb');
-    addDotPackagesDependency(
-      packagesFilePath,
-      'material_button',
-      '/home/material_button',
-    );
-    addDotPackagesDependency(
-      packagesFilePath,
-      'material_button_testing',
-      '/home/material_button/testing',
-    );
-
-    var analysisContext = analysisContextCollection.contextFor(
-      convertPath('/home/material_button'),
-    );
-    var context = tracker.addContext(analysisContext);
-    context.setDependencies({
-      convertPath('/home/material_button'): [convertPath('/home/aaa/lib')],
-      convertPath('/home/material_button/testing'): [
-        convertPath('/home/bbb/lib'),
-        convertPath('/home/material_button/lib'),
-      ],
-    });
-    await _doAllTrackerWork();
-
-    _assertHasLibrary('package:aaa/a.dart', declarations: [
-      _ExpectedDeclaration.class_('A', [
-        _ExpectedDeclaration.constructor(''),
-      ]),
-    ]);
-    _assertHasNoLibrary('package:aaa/src/a2.dart');
-
-    _assertHasLibrary('package:bbb/b.dart', declarations: [
-      _ExpectedDeclaration.class_('B', [
-        _ExpectedDeclaration.constructor(''),
-      ]),
-    ]);
-    _assertHasNoLibrary('package:bbb/src/b2.dart');
-
-    _assertHasLibrary('package:material_button/button.dart', declarations: [
-      _ExpectedDeclaration.class_('MaterialButton', [
-        _ExpectedDeclaration.constructor(''),
-      ]),
-    ]);
-    _assertHasLibrary(
-      toUriStr('/home/material_button/test/button_test.dart'),
-      declarations: [
-        _ExpectedDeclaration.class_('MaterialButtonTest', [
-          _ExpectedDeclaration.constructor(''),
-        ]),
-      ],
-    );
-    _assertHasLibrary(
-      'package:material_button_testing/material_button_po.dart',
-      declarations: [
-        _ExpectedDeclaration.class_('MaterialButtonPO', [
-          _ExpectedDeclaration.constructor(''),
-        ]),
-      ],
-    );
-
-    {
-      var path = convertPath('/home/material_button/lib/_.dart');
-      var libraries = context.getLibraries(path);
-      _assertHasLibraries(
-        libraries.sdk,
-        uriList: ['dart:core', 'dart:async'],
-      );
-      _assertHasLibraries(
-        libraries.dependencies,
-        uriList: ['package:aaa/a.dart'],
-        only: true,
-      );
-      _assertHasLibraries(
-        libraries.context,
-        uriList: [
-          'package:material_button/button.dart',
-        ],
-        only: true,
-      );
-    }
-
-    {
-      var path = convertPath('/home/material_button/test/_.dart');
-      var libraries = context.getLibraries(path);
-      _assertHasLibraries(
-        libraries.sdk,
-        uriList: ['dart:core', 'dart:async'],
-      );
-      _assertHasLibraries(
-        libraries.dependencies,
-        uriList: ['package:aaa/a.dart'],
-        only: true,
-      );
-      _assertHasLibraries(
-        libraries.context,
-        uriList: [
-          'package:material_button/button.dart',
-          toUriStr('/home/material_button/test/button_test.dart'),
-        ],
-        only: true,
-      );
-    }
-
-    {
-      var path = convertPath('/home/material_button/testing/lib/_.dart');
-      var libraries = context.getLibraries(path);
-      _assertHasLibraries(
-        libraries.sdk,
-        uriList: ['dart:core', 'dart:async'],
-      );
-      _assertHasLibraries(
-        libraries.dependencies,
-        uriList: [
-          'package:bbb/b.dart',
-          'package:material_button/button.dart',
-        ],
-        only: true,
-      );
-      _assertHasLibraries(
-        libraries.context,
-        uriList: [
-          'package:material_button_testing/material_button_po.dart',
-        ],
-        only: true,
-      );
-    }
-  }
-
   test_excludeSelf() async {
     var a = convertPath('/home/test/lib/a.dart');
     var b = convertPath('/home/test/lib/b.dart');
@@ -3272,10 +3129,13 @@
 ''');
     newFile('/home/test/samples/basic/lib/s.dart', content: 'class S {}');
 
-    addTestPackageDependency('aaa', '/home/aaa');
-    addTestPackageDependency('bbb', '/home/bbb');
-    addTestPackageDependency('ccc', '/home/ccc');
-    addTestPackageDependency('basic', '/home/test/samples/basic');
+    writeTestPackageConfig(
+      PackageConfigFileBuilder()
+        ..add(name: 'aaa', rootPath: '/home/aaa')
+        ..add(name: 'bbb', rootPath: '/home/bbb')
+        ..add(name: 'ccc', rootPath: '/home/ccc')
+        ..add(name: 'basic', rootPath: '/home/test/samples/basic'),
+    );
 
     var context = tracker.addContext(testAnalysisContext);
     await _doAllTrackerWork();
@@ -3449,8 +3309,11 @@
 class B {}
 ''');
 
-    addTestPackageDependency('aaa', '/home/aaa');
-    addTestPackageDependency('bbb', '/home/bbb');
+    writeTestPackageConfig(
+      PackageConfigFileBuilder()
+        ..add(name: 'aaa', rootPath: '/home/aaa')
+        ..add(name: 'bbb', rootPath: '/home/bbb'),
+    );
 
     newFile('/home/test/lib/t.dart', content: 'class T {}');
     newFile('/home/test/lib/src/t2.dart', content: 'class T2 {}');
@@ -3554,8 +3417,11 @@
 class B {}
 ''');
 
-    addTestPackageDependency('aaa', '/home/aaa');
-    addTestPackageDependency('bbb', '/home/bbb');
+    writeTestPackageConfig(
+      PackageConfigFileBuilder()
+        ..add(name: 'aaa', rootPath: '/home/aaa')
+        ..add(name: 'bbb', rootPath: '/home/bbb'),
+    );
 
     newFile('/home/test/lib/test.dart', content: r'''
 class C {}
diff --git a/tools/VERSION b/tools/VERSION
index 7047fbf..0c614a7 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 2
 MINOR 17
 PATCH 0
-PRERELEASE 196
+PRERELEASE 197
 PRERELEASE_PATCH 0
\ No newline at end of file