[deps] Roll dart-lang/native

`dart pub get` will create a `package_graph.json` now. Ensure this
file exists (besides the `package_config.json`).

Change-Id: I6ed5e395f101c298a999f51d61b096659db70930
Cq-Include-Trybots: luci.dart.try:pkg-linux-debug-try,pkg-linux-release-arm64-try,pkg-linux-release-try,pkg-mac-release-arm64-try,pkg-win-release-arm64-try,pkg-mac-release-try,pkg-win-release-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/428600
Reviewed-by: Michael Goderbauer <goderbauer@google.com>
Commit-Queue: Daco Harkes <dacoharkes@google.com>
diff --git a/DEPS b/DEPS
index 4e44790..14fcbac 100644
--- a/DEPS
+++ b/DEPS
@@ -138,7 +138,7 @@
   "i18n_rev": "e44af5483a051d546716b6aa3a57e478c59a5d8d",
   "leak_tracker_rev": "f5620600a5ce1c44f65ddaa02001e200b096e14c", # rolled manually
   "material_color_utilities_rev": "799b6ba2f3f1c28c67cc7e0b4f18e0c7d7f3c03e",
-  "native_rev": "b324678c5a469e933f30693e5648947d5bfd5e9e", # rolled manually while native assets are experimental
+  "native_rev": "6d51ecf34385e5872c43f1856d3fad6349200811", # rolled manually while native assets are experimental
   "protobuf_rev": "7d2e615086c973b0186802ca0b1db575d34d50ac",
   "pub_rev": "b2c03b448a47fdd52800609b9222cd737be3a934", # rolled manually
   "shelf_rev": "082d3ac2d13a98700d8148e8fad8f3e12a6fd0e1",
diff --git a/pkg/dartdev/lib/src/native_assets.dart b/pkg/dartdev/lib/src/native_assets.dart
index 53a3ab8..9c96682 100644
--- a/pkg/dartdev/lib/src/native_assets.dart
+++ b/pkg/dartdev/lib/src/native_assets.dart
@@ -156,7 +156,8 @@
       extensions: _extensions,
       linkingEnabled: linkingEnabled,
     );
-    return buildResult;
+    if (buildResult.isFailure) return null;
+    return buildResult.success;
   }
 
   Future<BuildResult?> buildNativeAssetsAOT() {
@@ -174,7 +175,8 @@
           recordedUsagesPath != null ? Uri.file(recordedUsagesPath) : null,
       buildResult: buildResult,
     );
-    return linkResult;
+    if (linkResult.isFailure) return null;
+    return linkResult.success;
   }
 
   final Target target;
@@ -250,10 +252,12 @@
   // logic in package:package_config.
   static Future<Uri?> _findPackageConfigUri(Uri uri) async {
     while (true) {
-      final candidate = uri.resolve('.dart_tool/package_config.json');
-      final file = File.fromUri(candidate);
-      if (await file.exists()) {
-        return file.uri;
+      final packageConfig =
+          File.fromUri(uri.resolve('.dart_tool/package_config.json'));
+      final packageGraph =
+          File.fromUri(uri.resolve('.dart_tool/package_graph.json'));
+      if (await packageConfig.exists() && await packageGraph.exists()) {
+        return packageConfig.uri;
       }
       final parent = uri.resolve('..');
       if (parent == uri) {
diff --git a/pkg/dartdev/test/utils.dart b/pkg/dartdev/test/utils.dart
index 795d316..b804084 100644
--- a/pkg/dartdev/test/utils.dart
+++ b/pkg/dartdev/test/utils.dart
@@ -118,6 +118,21 @@
         },
       ),
     );
+    file(
+      '.dart_tool/package_graph.json',
+      JsonEncoder.withIndent('  ').convert({
+        'roots': [name],
+        'packages': [
+          {
+            'name': name,
+            'version': '1.0.0',
+            'dependencies': [],
+            'devDependencies': []
+          },
+        ],
+        'configVersion': 1
+      }),
+    );
     if (analysisOptions != null) {
       file('analysis_options.yaml', analysisOptions);
     }