diff --git a/build/archives/BUILD.gn b/build/archives/BUILD.gn index 4aff1973b2224..010cec22f0ba8 100644 --- a/build/archives/BUILD.gn +++ b/build/archives/BUILD.gn @@ -89,3 +89,41 @@ if (!is_fuchsia) { deps = [ "//flutter/web_sdk:flutter_web_sdk_archive" ] } } + +# Archives Flutter Windows Artifacts +if (host_os == "win") { + zip_bundle("windows_flutter") { + output = "$full_platform_name-$flutter_runtime_mode/$full_platform_name-flutter.zip" + deps = [ + "//flutter/shell/platform/common:publish_headers", + "//flutter/shell/platform/windows:flutter_windows", + "//flutter/shell/platform/windows:publish_headers_windows", + ] + files = [ + { + source = "$root_out_dir/flutter_export.h" + destination = "flutter_export.h" + }, + { + source = "$root_out_dir/flutter_windows.h" + destination = "flutter_windows.h" + }, + { + source = "$root_out_dir/flutter_messenger.h" + destination = "flutter_messenger.h" + }, + { + source = "$root_out_dir/flutter_plugin_registrar.h" + destination = "flutter_plugin_registrar.h" + }, + { + source = "$root_out_dir/flutter_texture_registrar.h" + destination = "flutter_texture_registrar.h" + }, + { + source = "$root_out_dir/flutter_windows.dll" + destination = "flutter_windows.dll" + }, + ] + } +} diff --git a/shell/platform/windows/client_wrapper/BUILD.gn b/shell/platform/windows/client_wrapper/BUILD.gn index 18cf24d75abd3..02724a5083f31 100644 --- a/shell/platform/windows/client_wrapper/BUILD.gn +++ b/shell/platform/windows/client_wrapper/BUILD.gn @@ -2,6 +2,7 @@ # 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") import("//flutter/shell/platform/common/client_wrapper/publish.gni") import("//flutter/testing/testing.gni") @@ -97,3 +98,57 @@ executable("client_wrapper_windows_unittests") { "//third_party/dart/runtime:libdart_jit", ] } + +client_wrapper_file_archive_list = [ + "core_implementations.cc", + "engine_method_result.cc", + "plugin_registrar.cc", + "README", + "standard_codec.cc", +] + +win_client_wrapper_file_archive_list = [ + "flutter_engine.cc", + "flutter_view_controller.cc", +] + +zip_bundle("client_wrapper_archive") { + output = "$full_platform_name/flutter-cpp-client-wrapper.zip" + deps = [ + ":client_wrapper_windows", + ":publish_wrapper_windows", + "//flutter/shell/platform/common/client_wrapper:client_wrapper", + ] + tmp_files = [] + foreach(source, client_wrapper_file_archive_list) { + tmp_files += [ + { + source = "//flutter/shell/platform/common/client_wrapper/$source" + destination = "cpp_client_wrapper/$source" + }, + ] + } + + # Windows specific source code files + foreach(source, win_client_wrapper_file_archive_list) { + tmp_files += [ + { + source = "//flutter/shell/platform/windows/client_wrapper/$source" + destination = "cpp_client_wrapper/$source" + }, + ] + } + headers = core_cpp_client_wrapper_includes + + core_cpp_client_wrapper_internal_headers + foreach(header, headers) { + rebased_path = + rebase_path(header, "//flutter/shell/platform/common/client_wrapper") + tmp_files += [ + { + source = header + destination = "cpp_client_wrapper/$rebased_path" + }, + ] + } + files = tmp_files +}