[Flutter GPU] Upload `flutter_gpu.zip` upon successful completion of ci/android_debug. (#53107)
Part of https://github.com/flutter/flutter/issues/131711.
Also, stops distributing `flutter_gpu` as part of the host artifacts, since it's not target-specific.
This enables us to use the same distribution mechanism as the `sky_engine` package.
Corresponding framework PR: https://github.com/flutter/flutter/pull/149299
diff --git a/BUILD.gn b/BUILD.gn
index f21342d..ac8d818 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -283,7 +283,10 @@
group("dist") {
testonly = true
- deps = [ "//flutter/sky/dist" ]
+ deps = [
+ "//flutter/lib/gpu/dist",
+ "//flutter/sky/dist",
+ ]
}
if (is_fuchsia && enable_unittests) {
diff --git a/build/archives/BUILD.gn b/build/archives/BUILD.gn
index 38637ad..899a031 100644
--- a/build/archives/BUILD.gn
+++ b/build/archives/BUILD.gn
@@ -88,10 +88,6 @@
destination = "shader_lib"
},
{
- source = "//flutter/lib/gpu"
- destination = "flutter_gpu"
- },
- {
source = "$root_out_dir/${lib_prefix}path_ops$dll"
destination = "${lib_prefix}path_ops$dll"
},
diff --git a/ci/builders/linux_android_debug_engine.json b/ci/builders/linux_android_debug_engine.json
index 8c7c517..f9568bc 100644
--- a/ci/builders/linux_android_debug_engine.json
+++ b/ci/builders/linux_android_debug_engine.json
@@ -68,7 +68,8 @@
"out/ci/android_debug/zip_archives/android-arm/symbols.zip",
"out/ci/android_debug/zip_archives/download.flutter.io",
"out/ci/android_debug/zip_archives/sky_engine.zip",
- "out/ci/android_debug/zip_archives/android-javadoc.zip"
+ "out/ci/android_debug/zip_archives/android-javadoc.zip",
+ "out/ci/android_debug/zip_archives/flutter_gpu.zip"
],
"realm": "production"
}
@@ -96,6 +97,7 @@
"targets": [
"flutter",
"flutter/sky/dist:zip_old_location",
+ "flutter/lib/gpu/dist:zip_old_location",
"flutter/shell/platform/android:embedding_jars",
"flutter/shell/platform/android:abi_jars",
"flutter/shell/platform/android:robolectric_tests"
diff --git a/lib/gpu/dist/BUILD.gn b/lib/gpu/dist/BUILD.gn
new file mode 100644
index 0000000..c8ea07f
--- /dev/null
+++ b/lib/gpu/dist/BUILD.gn
@@ -0,0 +1,47 @@
+# Copyright 2013 The Flutter Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import("//flutter/build/zip_bundle.gni")
+
+# Similar to `sky_engine`, zip up the `flutter_gpu` Dart package and upload
+# it to GCS for distribution. This is only done during Android builds on CI.
+#
+# Then, the Flutter tool downloads and extracts `flutter_gpu.zip` into the
+# package cache (`bin/cache/pkg`) during artifact initialization.
+#
+# Note that unlike with `sky_engine`, the `lib/gpu` directory is already a
+# complete Dart package. So no additional build steps are necessary beyond
+# zipping it up.
+
+if (is_android) {
+ zip_bundle("zip") {
+ output = "$android_zip_archive_dir/flutter_gpu.zip"
+ files = [
+ {
+ source = "//flutter/lib/gpu"
+ destination = "flutter_gpu"
+ },
+ ]
+ deps = []
+ }
+
+ zip_bundle("zip_old_location") {
+ # TODO: remove after we migrate the tool to use the new location.
+ # Bug: https://github.com/flutter/flutter/issues/105351
+ output = "flutter_gpu.zip"
+ files = [
+ {
+ source = "//flutter/lib/gpu"
+ destination = "flutter_gpu"
+ },
+ ]
+ deps = []
+ }
+}
+
+group("dist") {
+ if (is_android) {
+ deps = [ ":zip" ]
+ }
+}