Roll packages (#61034)

Roll packages, update XML deprecations.
diff --git a/packages/flutter_tools/lib/src/android/gradle.dart b/packages/flutter_tools/lib/src/android/gradle.dart
index 0d583de..10bbb6e 100644
--- a/packages/flutter_tools/lib/src/android/gradle.dart
+++ b/packages/flutter_tools/lib/src/android/gradle.dart
@@ -6,7 +6,7 @@
 
 import 'package:crypto/crypto.dart';
 import 'package:meta/meta.dart';
-import 'package:xml/xml.dart' as xml;
+import 'package:xml/xml.dart';
 
 import '../artifacts.dart';
 import '../base/common.dart';
@@ -963,10 +963,10 @@
   if (!pomFile.existsSync()) {
     throwToolExit("The file $pomPath wasn't found in the local engine out directory.");
   }
-  xml.XmlDocument document;
+  XmlDocument document;
   try {
-    document = xml.parse(pomFile.readAsStringSync());
-  } on xml.XmlParserException {
+    document = XmlDocument.parse(pomFile.readAsStringSync());
+  } on XmlParserException {
     throwToolExit(
       'Error parsing $pomPath. Please ensure that this is a valid XML document.'
     );
@@ -975,9 +975,9 @@
       'Error reading $pomPath. Please ensure that you have read permission to this '
       'file and try again.');
   }
-  final Iterable<xml.XmlElement> project = document.findElements('project');
+  final Iterable<XmlElement> project = document.findElements('project');
   assert(project.isNotEmpty);
-  for (final xml.XmlElement versionElement in document.findAllElements('version')) {
+  for (final XmlElement versionElement in document.findAllElements('version')) {
     if (versionElement.parent == project.first) {
       return versionElement.text;
     }
diff --git a/packages/flutter_tools/lib/src/application_package.dart b/packages/flutter_tools/lib/src/application_package.dart
index 6cc8df0..bb9ab61 100644
--- a/packages/flutter_tools/lib/src/application_package.dart
+++ b/packages/flutter_tools/lib/src/application_package.dart
@@ -6,7 +6,7 @@
 import 'dart:collection';
 
 import 'package:meta/meta.dart';
-import 'package:xml/xml.dart' as xml;
+import 'package:xml/xml.dart';
 
 import 'android/gradle.dart';
 import 'base/common.dart';
@@ -188,10 +188,10 @@
     }
 
     final String manifestString = manifest.readAsStringSync();
-    xml.XmlDocument document;
+    XmlDocument document;
     try {
-      document = xml.parse(manifestString);
-    } on xml.XmlParserException catch (exception) {
+      document = XmlDocument.parse(manifestString);
+    } on XmlParserException catch (exception) {
       String manifestLocation;
       if (androidProject.isUsingGradle) {
         manifestLocation = globals.fs.path.join(androidProject.hostAppGradleRoot.path, 'app', 'src', 'main', 'AndroidManifest.xml');
@@ -203,7 +203,7 @@
       throwToolExit('XML Parser error message: ${exception.toString()}');
     }
 
-    final Iterable<xml.XmlElement> manifests = document.findElements('manifest');
+    final Iterable<XmlElement> manifests = document.findElements('manifest');
     if (manifests.isEmpty) {
       globals.printError('AndroidManifest.xml has no manifest element.');
       globals.printError('Please check ${manifest.path} for errors.');
@@ -212,20 +212,20 @@
     final String packageId = manifests.first.getAttribute('package');
 
     String launchActivity;
-    for (final xml.XmlElement activity in document.findAllElements('activity')) {
+    for (final XmlElement activity in document.findAllElements('activity')) {
       final String enabled = activity.getAttribute('android:enabled');
       if (enabled != null && enabled == 'false') {
         continue;
       }
 
-      for (final xml.XmlElement element in activity.findElements('intent-filter')) {
+      for (final XmlElement element in activity.findElements('intent-filter')) {
         String actionName = '';
         String categoryName = '';
-        for (final xml.XmlNode node in element.children) {
-          if (node is! xml.XmlElement) {
+        for (final XmlNode node in element.children) {
+          if (node is! XmlElement) {
             continue;
           }
-          final xml.XmlElement xmlElement = node as xml.XmlElement;
+          final XmlElement xmlElement = node as XmlElement;
           final String name = xmlElement.getAttribute('android:name');
           if (name == 'android.intent.action.MAIN') {
             actionName = name;
diff --git a/packages/flutter_tools/lib/src/commands/update_packages.dart b/packages/flutter_tools/lib/src/commands/update_packages.dart
index d6c5181..2bf03eb 100644
--- a/packages/flutter_tools/lib/src/commands/update_packages.dart
+++ b/packages/flutter_tools/lib/src/commands/update_packages.dart
@@ -30,7 +30,8 @@
   'vm_service_client': '0.2.6+2', // Final version before being marked deprecated.
   'video_player': '0.10.6', // 0.10.7 fails a gallery smoke test for toString.
   'flutter_template_images': '1.0.1', // Must always exactly match flutter_tools template.
-  'shelf': '0.7.5'
+  'shelf': '0.7.5',
+  'meta': '1.1.8', // until the `unawaited` export is resolved
 };
 
 class UpdatePackagesCommand extends FlutterCommand {
diff --git a/packages/flutter_tools/lib/src/project.dart b/packages/flutter_tools/lib/src/project.dart
index c3b566e..5b8f070 100644
--- a/packages/flutter_tools/lib/src/project.dart
+++ b/packages/flutter_tools/lib/src/project.dart
@@ -5,7 +5,7 @@
 import 'dart:async';
 
 import 'package:meta/meta.dart';
-import 'package:xml/xml.dart' as xml;
+import 'package:xml/xml.dart';
 import 'package:yaml/yaml.dart';
 
 import 'android/gradle_utils.dart' as gradle;
@@ -842,17 +842,17 @@
     if (appManifestFile == null || !appManifestFile.existsSync()) {
       return AndroidEmbeddingVersion.v1;
     }
-    xml.XmlDocument document;
+    XmlDocument document;
     try {
-      document = xml.parse(appManifestFile.readAsStringSync());
-    } on xml.XmlParserException {
+      document = XmlDocument.parse(appManifestFile.readAsStringSync());
+    } on XmlParserException {
       throwToolExit('Error parsing $appManifestFile '
                     'Please ensure that the android manifest is a valid XML document and try again.');
     } on FileSystemException {
       throwToolExit('Error reading $appManifestFile even though it exists. '
                     'Please ensure that you have read permission to this file and try again.');
     }
-    for (final xml.XmlElement metaData in document.findAllElements('meta-data')) {
+    for (final XmlElement metaData in document.findAllElements('meta-data')) {
       final String name = metaData.getAttribute('android:name');
       if (name == 'flutterEmbedding') {
         final String embeddingVersionString = metaData.getAttribute('android:value');
diff --git a/packages/flutter_tools/pubspec.yaml b/packages/flutter_tools/pubspec.yaml
index a4eb639..40806d0 100644
--- a/packages/flutter_tools/pubspec.yaml
+++ b/packages/flutter_tools/pubspec.yaml
@@ -25,11 +25,11 @@
   package_config: 1.9.3
   process: 3.0.13
   quiver: 2.1.3
-  stack_trace: 1.9.3
-  usage: 3.4.1
+  stack_trace: 1.9.5
+  usage: 3.4.2
   webdriver: 2.1.2
   webkit_inspection_protocol: 0.7.3
-  xml: 3.7.0
+  xml: 4.2.0
   yaml: 2.2.1
   native_stack_traces: 0.3.7
   build_daemon: 2.1.4
@@ -39,13 +39,13 @@
   # 'test' package, which change between versions, so when upgrading
   # this, make sure the tests are still running correctly.
   test_api: 0.2.17
-  test_core: 0.3.9
+  test_core: 0.3.10
 
   vm_service: 4.1.0
 
-  _fe_analyzer_shared: 4.0.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
-  analyzer: 0.39.10 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
-  async: 2.4.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
+  _fe_analyzer_shared: 5.0.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
+  analyzer: 0.39.12 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
+  async: 2.4.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
   boolean_selector: 2.0.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
   browser_launcher: 0.1.7 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
   built_collection: 4.3.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
@@ -88,7 +88,7 @@
   sync_http: 0.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
   term_glyph: 1.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
   typed_data: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
-  uuid: 2.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
+  uuid: 2.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
   watcher: 0.9.7+15 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
   web_socket_channel: 1.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
 
@@ -96,7 +96,7 @@
   collection: 1.14.13
   mockito: 4.1.1
   file_testing: 2.1.0
-  test: 1.15.1
+  test: 1.15.2
   pubspec_parse: 0.1.5
 
   checked_yaml: 1.0.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
@@ -107,4 +107,4 @@
   # Exclude this package from the hosted API docs.
   nodoc: true
 
-# PUBSPEC CHECKSUM: 7264
+# PUBSPEC CHECKSUM: ad91