blob: 777ee5118cfed52a1fa2f0a99fb9e584463b3611 [file] [log] [blame] [edit]
# 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")
import("//flutter/common/config.gni")
if (build_engine_artifacts) {
zip_bundle("artifacts") {
deps = [
"//flutter/flutter_frontend_server:frontend_server",
"//flutter/impeller/compiler:impellerc",
"//flutter/impeller/tessellator:tessellator_shared",
"//flutter/lib/snapshot:generate_snapshot_bin",
"//flutter/shell/testing:testing",
"//flutter/shell/testing:testing_fractional_translation",
]
prefix = "$full_target_platform_name/"
if (flutter_runtime_mode != "debug") {
prefix = "$full_platform_name-$flutter_runtime_mode/"
}
output = "$prefix/artifacts.zip"
files = [
{
source = "//third_party/icu/flutter/icudtl.dat"
destination = "icudtl.dat"
},
{
source = "$root_out_dir/gen/flutter/lib/snapshot/isolate_snapshot.bin"
destination = "isolate_snapshot.bin"
},
{
source = "$root_gen_dir/flutter/lib/snapshot/vm_isolate_snapshot.bin"
destination = "vm_isolate_snapshot.bin"
},
{
source = "$root_gen_dir/frontend_server.dart.snapshot"
destination = "frontend_server.dart.snapshot"
},
]
exe = ""
if (host_os == "win") {
exe = ".exe"
}
dll = ".so"
if (host_os == "win") {
dll = ".dll"
} else if (host_os == "mac") {
dll = ".dylib"
}
files += [
{
source = "$root_out_dir/flutter_tester$exe"
destination = "flutter_tester$exe"
},
{
source = "$root_out_dir/flutter_tester_fractional_translation$exe"
destination = "flutter_tester_fractional_translation$exe"
},
{
source = "$root_out_dir/impellerc$exe"
destination = "impellerc$exe"
},
{
source = "$root_out_dir/libtessellator$dll"
destination = "libtessellator$dll"
},
]
}
}
if (host_os == "linux" || host_os == "win") {
group("embedder") {
deps = [ "//flutter/shell/platform/embedder:embedder-archive" ]
}
}
# 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") {
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 = "${path_prefix}vm_outline_strong.dill"
},
{
source = "$root_out_dir/flutter_patched_sdk/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-$full_target_platform_name.zip" ]
}
}
# Archives Flutter Web SDK
if (!is_fuchsia) {
group("flutter_web_sdk") {
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"
},
]
}
}
# Archives Flutter Mac Artifacts
if (is_mac) {
group("macos_flutter_framework") {
deps = [
"//flutter/shell/platform/darwin/macos:macos_flutter_framework_archive",
]
}
zip_bundle("archive_gen_snapshot") {
deps = [ "//flutter/lib/snapshot:create_macos_gen_snapshots" ]
suffix = "-$flutter_runtime_mode"
if (flutter_runtime_mode == "debug") {
suffix = ""
}
output = "$full_platform_name$suffix/gen_snapshot.zip"
files = [
{
source = "$root_out_dir/gen_snapshot_$target_cpu"
destination = "gen_snapshot_$target_cpu"
},
]
}
group("flutter_embedder_framework") {
deps = [
"//flutter/shell/platform/embedder:flutter_embedder_framework_archive",
]
}
}