Archives for dart-sdk and flutter_patched_sdk. (flutter/engine#30888)

This commit is contained in:
godofredoc 2022-02-04 09:30:02 -08:00 committed by GitHub
parent ba3329c2cf
commit 7da0c5421c
3 changed files with 53 additions and 14 deletions

View File

@ -33,14 +33,6 @@ config("export_dynamic_symbols") {
if (flutter_prebuilt_dart_sdk) {
copy_trees("_copy_trees") {
# There is no prebuilt Dart SDK targeting Fuchsia, but we also don't need
# one, so even when the build is targeting Fuchsia, use the prebuilt
# Dart SDK for the host.
if (current_toolchain == host_toolchain || is_fuchsia) {
prebuilt_dart_sdk = host_prebuilt_dart_sdk
} else {
prebuilt_dart_sdk = target_prebuilt_dart_sdk
}
sources = [
{
target = "copy_dart_sdk"
@ -62,7 +54,7 @@ _build_engine_artifacts =
(is_linux && !is_chromeos && current_cpu != "arm") || is_mac
group("dart_sdk") {
if (_build_engine_artifacts) {
if (build_engine_artifacts) {
if (flutter_prebuilt_dart_sdk) {
public_deps = [ ":copy_dart_sdk" ]
} else {

View File

@ -48,17 +48,37 @@ if (host_os == "linux") {
}
}
# Generates flutter_patched_sdk.zip for debug and profile runtime modes
# and saves it in the zips_archive folder. For release runtime mode it
# generates flutter_patched_sdk_product.zip and saves it to
# zips_archive/flutter_patched_sdk_product/ folder.
zip_bundle("flutter_patched_sdk") {
output = "flutter_patched_sdk.zip"
file_suffix = ""
path_prefix = ""
if (flutter_runtime_mode == "release") {
file_suffix = "_product"
path_prefix = "flutter_patched_sdk_product/"
}
output = "flutter_patched_sdk${file_suffix}.zip"
deps = [ "//flutter/lib/snapshot:strong_platform" ]
files = [
{
source = "$root_out_dir/flutter_patched_sdk/vm_outline_strong.dill"
destination = "vm_outline_strong.dill"
destination = "${path_prefix}vm_outline_strong.dill"
},
{
source = "$root_out_dir/flutter_patched_sdk/platform_strong.dill"
destination = "platform_strong.dill"
destination = "${path_prefix}platform_strong.dill"
},
]
}
# Flutter consumes the dart sdk as a prebuilt. Rather than regenerating
# the zip file we are just copying the original file to the artifacts location.
if (build_engine_artifacts && flutter_prebuilt_dart_sdk) {
copy("dart_sdk_archive") {
sources = [ prebuilt_dart_sdk_archive ]
outputs =
[ "$root_out_dir/zip_archives/dart-sdk-$prebuilt_dart_sdk_config" ]
}
}

View File

@ -83,8 +83,35 @@ if (flutter_prebuilt_dart_sdk) {
_host_os_name = "windows"
}
_target_prebuilt_dart_sdk_config = "$_target_os_name-$target_cpu"
_host_prebuilt_dart_sdk_config = "$_host_os_name-$host_cpu"
_target_prebuilt_dart_sdk_archive = "//flutter/prebuilts/dartsdk-$_target_prebuilt_dart_sdk_config-release.zip"
_host_prebuilt_dart_sdk_archive =
"//flutter/prebuilts/dartsdk-$_host_prebuilt_dart_sdk_config-release.zip"
target_prebuilt_dart_sdk =
"//flutter/prebuilts/$_target_os_name-$target_cpu/dart-sdk"
"//flutter/prebuilts/$_target_prebuilt_dart_sdk_config/dart-sdk"
host_prebuilt_dart_sdk =
"//flutter/prebuilts/$_host_os_name-$host_cpu/dart-sdk"
"//flutter/prebuilts/$_host_prebuilt_dart_sdk_config/dart-sdk"
# There is no prebuilt Dart SDK targeting Fuchsia, but we also don't need
# one, so even when the build is targeting Fuchsia, use the prebuilt
# Dart SDK for the host.
if (current_toolchain == host_toolchain || is_fuchsia) {
prebuilt_dart_sdk = host_prebuilt_dart_sdk
prebuilt_dart_sdk_config = _host_prebuilt_dart_sdk_config
prebuilt_dart_sdk_archive = _host_prebuilt_dart_sdk_archive
} else {
prebuilt_dart_sdk = target_prebuilt_dart_sdk
prebuilt_dart_sdk_config = _target_prebuilt_dart_sdk_config
prebuilt_dart_sdk_archive = _target_prebuilt_dart_sdk_archive
}
}
# Flutter SDK artifacts should only be built when either doing host builds, or
# for cross-compiled desktop targets.
# TODO: We can't build the engine artifacts for arm (32-bit) right now;
# see https://github.com/flutter/flutter/issues/74322
build_engine_artifacts =
current_toolchain == host_toolchain ||
(is_linux && !is_chromeos && current_cpu != "arm") || is_mac