1*8975f5c5SAndroid Build Coastguard Worker# Copyright 2019 The Chromium Authors 2*8975f5c5SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be 3*8975f5c5SAndroid Build Coastguard Worker# found in the LICENSE file. 4*8975f5c5SAndroid Build Coastguard Worker 5*8975f5c5SAndroid Build Coastguard Worker# Build targets for constructing CIPD release archives. 6*8975f5c5SAndroid Build Coastguard Worker 7*8975f5c5SAndroid Build Coastguard Workerassert(is_fuchsia) 8*8975f5c5SAndroid Build Coastguard Worker 9*8975f5c5SAndroid Build Coastguard Workerimport("//build/cipd/cipd.gni") 10*8975f5c5SAndroid Build Coastguard Workerimport("//build/config/chrome_build.gni") 11*8975f5c5SAndroid Build Coastguard Workerimport("//build/config/compiler/compiler.gni") 12*8975f5c5SAndroid Build Coastguard Workerimport("//build/util/process_version.gni") 13*8975f5c5SAndroid Build Coastguard Workerimport("//third_party/fuchsia-gn-sdk/src/build_id_dir.gni") 14*8975f5c5SAndroid Build Coastguard Workerimport("//third_party/fuchsia-gn-sdk/src/cipd.gni") 15*8975f5c5SAndroid Build Coastguard Worker 16*8975f5c5SAndroid Build Coastguard Workervisibility = [ ":*" ] 17*8975f5c5SAndroid Build Coastguard Worker 18*8975f5c5SAndroid Build Coastguard Worker# Allows a builder to explicitly declare the CIPD path. The base path is what 19*8975f5c5SAndroid Build Coastguard Worker# comes after `.../p/` in the CIPD URL. 20*8975f5c5SAndroid Build Coastguard Workerdeclare_args() { 21*8975f5c5SAndroid Build Coastguard Worker fuchsia_cipd_package_base_path = "" 22*8975f5c5SAndroid Build Coastguard Worker} 23*8975f5c5SAndroid Build Coastguard Worker 24*8975f5c5SAndroid Build Coastguard Worker# TODO(zijiehe): Eliminate the use of 'package_base_path' during the 25*8975f5c5SAndroid Build Coastguard Worker# refactoring. 26*8975f5c5SAndroid Build Coastguard Workerif (fuchsia_cipd_package_base_path == "") { 27*8975f5c5SAndroid Build Coastguard Worker if (is_chrome_branded) { 28*8975f5c5SAndroid Build Coastguard Worker package_base_path = "chrome_internal/fuchsia" 29*8975f5c5SAndroid Build Coastguard Worker } else { 30*8975f5c5SAndroid Build Coastguard Worker package_base_path = "chromium/fuchsia" 31*8975f5c5SAndroid Build Coastguard Worker } 32*8975f5c5SAndroid Build Coastguard Worker} else { 33*8975f5c5SAndroid Build Coastguard Worker package_base_path = fuchsia_cipd_package_base_path 34*8975f5c5SAndroid Build Coastguard Worker} 35*8975f5c5SAndroid Build Coastguard Worker 36*8975f5c5SAndroid Build Coastguard Worker# Archives related specifically to `fuchsia.web` 37*8975f5c5SAndroid Build Coastguard Worker_web_engine_directory = "web_engine" 38*8975f5c5SAndroid Build Coastguard Worker 39*8975f5c5SAndroid Build Coastguard Worker# Archives of tools intended to be run on a Linux/Mac host rather than the 40*8975f5c5SAndroid Build Coastguard Worker# Fuchsia device. 41*8975f5c5SAndroid Build Coastguard Worker_host_tools_directory = "host_tools" 42*8975f5c5SAndroid Build Coastguard Worker 43*8975f5c5SAndroid Build Coastguard Worker_archive_suffix = "_archive" 44*8975f5c5SAndroid Build Coastguard Worker 45*8975f5c5SAndroid Build Coastguard Worker# Extracts the numeric Chrome version and writes it to a file in the output 46*8975f5c5SAndroid Build Coastguard Worker# directory. 47*8975f5c5SAndroid Build Coastguard Worker# 48*8975f5c5SAndroid Build Coastguard Worker# To check out the repository on the commit where the version was generated, 49*8975f5c5SAndroid Build Coastguard Worker# simply call `git checkout <version>`, and Git will check out the commit 50*8975f5c5SAndroid Build Coastguard Worker# associated with the <version> tag. 51*8975f5c5SAndroid Build Coastguard Workerprocess_version("version") { 52*8975f5c5SAndroid Build Coastguard Worker template_file = "version.template" 53*8975f5c5SAndroid Build Coastguard Worker sources = [ "//chrome/VERSION" ] 54*8975f5c5SAndroid Build Coastguard Worker output = "${target_gen_dir}/VERSION" 55*8975f5c5SAndroid Build Coastguard Worker process_only = true 56*8975f5c5SAndroid Build Coastguard Worker} 57*8975f5c5SAndroid Build Coastguard Worker 58*8975f5c5SAndroid Build Coastguard Workerif (target_cpu == "x64") { 59*8975f5c5SAndroid Build Coastguard Worker targetarch = "amd64" 60*8975f5c5SAndroid Build Coastguard Worker} else { 61*8975f5c5SAndroid Build Coastguard Worker targetarch = "arm64" 62*8975f5c5SAndroid Build Coastguard Worker} 63*8975f5c5SAndroid Build Coastguard Worker 64*8975f5c5SAndroid Build Coastguard Worker# Prepares a CIPD archive, produces a corresponding LICENSE file, 65*8975f5c5SAndroid Build Coastguard Worker# LICENSE.spdx.json file and generates a manifest file. 66*8975f5c5SAndroid Build Coastguard Worker# 67*8975f5c5SAndroid Build Coastguard Worker# Parameters: 68*8975f5c5SAndroid Build Coastguard Worker# package_subdirectory: Specify the subdirectory relative to 69*8975f5c5SAndroid Build Coastguard Worker# |package_base_path| in which the package is put. 70*8975f5c5SAndroid Build Coastguard Worker# description: Sets the "description" field in CIPD package definition. 71*8975f5c5SAndroid Build Coastguard Worker# 72*8975f5c5SAndroid Build Coastguard Worker# Optional parameters used directly by fuchsia_cipd_package template: 73*8975f5c5SAndroid Build Coastguard Worker# "install_mode", 74*8975f5c5SAndroid Build Coastguard Worker# "sources", 75*8975f5c5SAndroid Build Coastguard Worker# "data", 76*8975f5c5SAndroid Build Coastguard Worker# "data_deps" 77*8975f5c5SAndroid Build Coastguard Worker# "deps", 78*8975f5c5SAndroid Build Coastguard Worker# "testonly", 79*8975f5c5SAndroid Build Coastguard Worker 80*8975f5c5SAndroid Build Coastguard Workertemplate("cipd_archive") { 81*8975f5c5SAndroid Build Coastguard Worker forward_variables_from(invoker, 82*8975f5c5SAndroid Build Coastguard Worker [ 83*8975f5c5SAndroid Build Coastguard Worker "package_subdirectory", 84*8975f5c5SAndroid Build Coastguard Worker "description", 85*8975f5c5SAndroid Build Coastguard Worker "install_mode", 86*8975f5c5SAndroid Build Coastguard Worker "sources", 87*8975f5c5SAndroid Build Coastguard Worker "data", 88*8975f5c5SAndroid Build Coastguard Worker "data_deps", 89*8975f5c5SAndroid Build Coastguard Worker "deps", 90*8975f5c5SAndroid Build Coastguard Worker "testonly", 91*8975f5c5SAndroid Build Coastguard Worker ]) 92*8975f5c5SAndroid Build Coastguard Worker 93*8975f5c5SAndroid Build Coastguard Worker _license_path = "${target_gen_dir}/${target_name}/LICENSE" 94*8975f5c5SAndroid Build Coastguard Worker _invoker_dir = get_label_info(":${invoker.target_name}", "dir") 95*8975f5c5SAndroid Build Coastguard Worker _license_target = "${_invoker_dir}:${invoker.target_name}${_archive_suffix}" 96*8975f5c5SAndroid Build Coastguard Worker 97*8975f5c5SAndroid Build Coastguard Worker # GN is used by the script and is thus an input. 98*8975f5c5SAndroid Build Coastguard Worker if (host_os == "mac") { 99*8975f5c5SAndroid Build Coastguard Worker _gn_path = "//buildtools/mac/gn" 100*8975f5c5SAndroid Build Coastguard Worker } else if (host_os == "linux") { 101*8975f5c5SAndroid Build Coastguard Worker _gn_path = "//buildtools/linux64/gn" 102*8975f5c5SAndroid Build Coastguard Worker } 103*8975f5c5SAndroid Build Coastguard Worker 104*8975f5c5SAndroid Build Coastguard Worker # Produces a consolidated license file. 105*8975f5c5SAndroid Build Coastguard Worker action("${target_name}_license") { 106*8975f5c5SAndroid Build Coastguard Worker script = "//tools/licenses/licenses.py" 107*8975f5c5SAndroid Build Coastguard Worker inputs = [ "$_gn_path" ] 108*8975f5c5SAndroid Build Coastguard Worker outputs = [ _license_path ] 109*8975f5c5SAndroid Build Coastguard Worker args = [ 110*8975f5c5SAndroid Build Coastguard Worker "license_file", 111*8975f5c5SAndroid Build Coastguard Worker rebase_path(_license_path, root_build_dir), 112*8975f5c5SAndroid Build Coastguard Worker "--gn-target", 113*8975f5c5SAndroid Build Coastguard Worker _license_target, 114*8975f5c5SAndroid Build Coastguard Worker "--gn-out-dir", 115*8975f5c5SAndroid Build Coastguard Worker ".", 116*8975f5c5SAndroid Build Coastguard Worker ] 117*8975f5c5SAndroid Build Coastguard Worker } 118*8975f5c5SAndroid Build Coastguard Worker 119*8975f5c5SAndroid Build Coastguard Worker # Produces a consolidated license file in spdx format. 120*8975f5c5SAndroid Build Coastguard Worker action("${target_name}_license_spdx") { 121*8975f5c5SAndroid Build Coastguard Worker _license_path_spdx = "${_license_path}.spdx.json" 122*8975f5c5SAndroid Build Coastguard Worker 123*8975f5c5SAndroid Build Coastguard Worker script = "//tools/licenses/licenses.py" 124*8975f5c5SAndroid Build Coastguard Worker inputs = [ "$_gn_path" ] 125*8975f5c5SAndroid Build Coastguard Worker outputs = [ _license_path_spdx ] 126*8975f5c5SAndroid Build Coastguard Worker args = [ 127*8975f5c5SAndroid Build Coastguard Worker "license_file", 128*8975f5c5SAndroid Build Coastguard Worker rebase_path(_license_path_spdx, root_build_dir), 129*8975f5c5SAndroid Build Coastguard Worker "--gn-target", 130*8975f5c5SAndroid Build Coastguard Worker _license_target, 131*8975f5c5SAndroid Build Coastguard Worker "--gn-out-dir", 132*8975f5c5SAndroid Build Coastguard Worker ".", 133*8975f5c5SAndroid Build Coastguard Worker "--format", 134*8975f5c5SAndroid Build Coastguard Worker "spdx", 135*8975f5c5SAndroid Build Coastguard Worker "--spdx-doc-name", 136*8975f5c5SAndroid Build Coastguard Worker "${invoker.target_name}", 137*8975f5c5SAndroid Build Coastguard Worker ] 138*8975f5c5SAndroid Build Coastguard Worker } 139*8975f5c5SAndroid Build Coastguard Worker 140*8975f5c5SAndroid Build Coastguard Worker if (!defined(deps)) { 141*8975f5c5SAndroid Build Coastguard Worker deps = [] 142*8975f5c5SAndroid Build Coastguard Worker } 143*8975f5c5SAndroid Build Coastguard Worker deps += [ 144*8975f5c5SAndroid Build Coastguard Worker ":${target_name}_license", 145*8975f5c5SAndroid Build Coastguard Worker ":${target_name}_license_spdx", 146*8975f5c5SAndroid Build Coastguard Worker ":version", 147*8975f5c5SAndroid Build Coastguard Worker ] 148*8975f5c5SAndroid Build Coastguard Worker 149*8975f5c5SAndroid Build Coastguard Worker if (!defined(sources)) { 150*8975f5c5SAndroid Build Coastguard Worker sources = [] 151*8975f5c5SAndroid Build Coastguard Worker } 152*8975f5c5SAndroid Build Coastguard Worker sources += get_target_outputs(":${target_name}_license") + 153*8975f5c5SAndroid Build Coastguard Worker get_target_outputs(":${target_name}_license_spdx") + 154*8975f5c5SAndroid Build Coastguard Worker [ "${target_gen_dir}/VERSION" ] 155*8975f5c5SAndroid Build Coastguard Worker 156*8975f5c5SAndroid Build Coastguard Worker fuchsia_cipd_package("${target_name}${_archive_suffix}") { 157*8975f5c5SAndroid Build Coastguard Worker package = "${package_base_path}/${package_subdirectory}/${targetarch}/${invoker.target_name}" 158*8975f5c5SAndroid Build Coastguard Worker package_root = "${target_gen_dir}/${invoker.target_name}" 159*8975f5c5SAndroid Build Coastguard Worker package_definition_name = "${invoker.target_name}.yaml" 160*8975f5c5SAndroid Build Coastguard Worker 161*8975f5c5SAndroid Build Coastguard Worker # Always use absolute path. 162*8975f5c5SAndroid Build Coastguard Worker use_absolute_root_path = true 163*8975f5c5SAndroid Build Coastguard Worker } 164*8975f5c5SAndroid Build Coastguard Worker} 165*8975f5c5SAndroid Build Coastguard Worker 166*8975f5c5SAndroid Build Coastguard Worker# Prepares a CIPD test archive, which is a regular CIPD archive that generates 167*8975f5c5SAndroid Build Coastguard Worker# test manifests for a given list of test_sets. 168*8975f5c5SAndroid Build Coastguard Worker# 169*8975f5c5SAndroid Build Coastguard Worker# Parameters: 170*8975f5c5SAndroid Build Coastguard Worker# test_sets: A list of scopes for which test manifests will be created. Each 171*8975f5c5SAndroid Build Coastguard Worker# set contains: 172*8975f5c5SAndroid Build Coastguard Worker# manifest_path: The path to the generated manifest JSON file. 173*8975f5c5SAndroid Build Coastguard Worker# far_sources: An optional list of CFv2 test component .far files. 174*8975f5c5SAndroid Build Coastguard Worker# 175*8975f5c5SAndroid Build Coastguard Worker# Required parameters used by the cipd_archive template: 176*8975f5c5SAndroid Build Coastguard Worker# "package_subdirectory", 177*8975f5c5SAndroid Build Coastguard Worker# 178*8975f5c5SAndroid Build Coastguard Worker# Optional parameters used by the cipd_archive template: 179*8975f5c5SAndroid Build Coastguard Worker# "description" 180*8975f5c5SAndroid Build Coastguard Worker# "install_mode", 181*8975f5c5SAndroid Build Coastguard Worker# "data", 182*8975f5c5SAndroid Build Coastguard Worker# "data_deps" 183*8975f5c5SAndroid Build Coastguard Worker# "deps", 184*8975f5c5SAndroid Build Coastguard Worker# "testonly", 185*8975f5c5SAndroid Build Coastguard Worker 186*8975f5c5SAndroid Build Coastguard Workertemplate("cipd_test_archive") { 187*8975f5c5SAndroid Build Coastguard Worker forward_variables_from(invoker, 188*8975f5c5SAndroid Build Coastguard Worker [ 189*8975f5c5SAndroid Build Coastguard Worker "package_subdirectory", 190*8975f5c5SAndroid Build Coastguard Worker "description", 191*8975f5c5SAndroid Build Coastguard Worker "install_mode", 192*8975f5c5SAndroid Build Coastguard Worker "data", 193*8975f5c5SAndroid Build Coastguard Worker "data_deps", 194*8975f5c5SAndroid Build Coastguard Worker "deps", 195*8975f5c5SAndroid Build Coastguard Worker "testonly", 196*8975f5c5SAndroid Build Coastguard Worker "test_sets", 197*8975f5c5SAndroid Build Coastguard Worker ]) 198*8975f5c5SAndroid Build Coastguard Worker 199*8975f5c5SAndroid Build Coastguard Worker assert(defined(test_sets) && defined(testonly) && testonly == true) 200*8975f5c5SAndroid Build Coastguard Worker 201*8975f5c5SAndroid Build Coastguard Worker cipd_archive(target_name) { 202*8975f5c5SAndroid Build Coastguard Worker # Build JSON manifests for each suite of tests and include them in the 203*8975f5c5SAndroid Build Coastguard Worker # archive. 204*8975f5c5SAndroid Build Coastguard Worker sources = [] 205*8975f5c5SAndroid Build Coastguard Worker foreach(test_set, test_sets) { 206*8975f5c5SAndroid Build Coastguard Worker assert(defined(test_set.far_sources)) 207*8975f5c5SAndroid Build Coastguard Worker sources += [ test_set.manifest_path ] 208*8975f5c5SAndroid Build Coastguard Worker _manifest_contents = [] 209*8975f5c5SAndroid Build Coastguard Worker if (defined(test_set.far_sources)) { 210*8975f5c5SAndroid Build Coastguard Worker foreach(source, test_set.far_sources) { 211*8975f5c5SAndroid Build Coastguard Worker package_name = get_path_info(source, "name") 212*8975f5c5SAndroid Build Coastguard Worker 213*8975f5c5SAndroid Build Coastguard Worker _manifest_contents += [ 214*8975f5c5SAndroid Build Coastguard Worker { 215*8975f5c5SAndroid Build Coastguard Worker package = package_name 216*8975f5c5SAndroid Build Coastguard Worker component_name = package_name + ".cm" 217*8975f5c5SAndroid Build Coastguard Worker }, 218*8975f5c5SAndroid Build Coastguard Worker ] 219*8975f5c5SAndroid Build Coastguard Worker } 220*8975f5c5SAndroid Build Coastguard Worker sources += test_set.far_sources 221*8975f5c5SAndroid Build Coastguard Worker } 222*8975f5c5SAndroid Build Coastguard Worker write_file(test_set.manifest_path, _manifest_contents, "json") 223*8975f5c5SAndroid Build Coastguard Worker } 224*8975f5c5SAndroid Build Coastguard Worker } 225*8975f5c5SAndroid Build Coastguard Worker} 226*8975f5c5SAndroid Build Coastguard Worker 227*8975f5c5SAndroid Build Coastguard Workercipd_archive("web_engine") { 228*8975f5c5SAndroid Build Coastguard Worker package_subdirectory = _web_engine_directory 229*8975f5c5SAndroid Build Coastguard Worker description = "Prebuilt WebEngine binaries for Fuchsia." 230*8975f5c5SAndroid Build Coastguard Worker 231*8975f5c5SAndroid Build Coastguard Worker deps = [ "//fuchsia_web/webengine:web_engine" ] 232*8975f5c5SAndroid Build Coastguard Worker sources = 233*8975f5c5SAndroid Build Coastguard Worker [ "${root_gen_dir}/fuchsia_web/webengine/web_engine/web_engine.far" ] 234*8975f5c5SAndroid Build Coastguard Worker} 235*8975f5c5SAndroid Build Coastguard Worker 236*8975f5c5SAndroid Build Coastguard Workercipd_archive("cast_runner") { 237*8975f5c5SAndroid Build Coastguard Worker package_subdirectory = _web_engine_directory 238*8975f5c5SAndroid Build Coastguard Worker description = "Prebuilt Cast application Runner binaries for Fuchsia." 239*8975f5c5SAndroid Build Coastguard Worker 240*8975f5c5SAndroid Build Coastguard Worker deps = [ "//fuchsia_web/runners:cast_runner_pkg" ] 241*8975f5c5SAndroid Build Coastguard Worker sources = 242*8975f5c5SAndroid Build Coastguard Worker [ "${root_gen_dir}/fuchsia_web/runners/cast_runner/cast_runner.far" ] 243*8975f5c5SAndroid Build Coastguard Worker} 244*8975f5c5SAndroid Build Coastguard Worker 245*8975f5c5SAndroid Build Coastguard Workercipd_archive("web_engine_shell") { 246*8975f5c5SAndroid Build Coastguard Worker package_subdirectory = _web_engine_directory 247*8975f5c5SAndroid Build Coastguard Worker description = "Simple command-line embedder for WebEngine." 248*8975f5c5SAndroid Build Coastguard Worker testonly = true 249*8975f5c5SAndroid Build Coastguard Worker 250*8975f5c5SAndroid Build Coastguard Worker deps = [ "//fuchsia_web/shell:web_engine_shell_pkg" ] 251*8975f5c5SAndroid Build Coastguard Worker sources = [ 252*8975f5c5SAndroid Build Coastguard Worker "${root_gen_dir}/fuchsia_web/shell/web_engine_shell/web_engine_shell.far", 253*8975f5c5SAndroid Build Coastguard Worker ] 254*8975f5c5SAndroid Build Coastguard Worker} 255*8975f5c5SAndroid Build Coastguard Worker 256*8975f5c5SAndroid Build Coastguard Worker_stripped_chromedriver_file = "${root_out_dir}/clang_x64/stripped/chromedriver" 257*8975f5c5SAndroid Build Coastguard Worker 258*8975f5c5SAndroid Build Coastguard Workeraction("strip_chromedriver_binary") { 259*8975f5c5SAndroid Build Coastguard Worker testonly = true 260*8975f5c5SAndroid Build Coastguard Worker 261*8975f5c5SAndroid Build Coastguard Worker prog_name = "${root_out_dir}/clang_x64/chromedriver" 262*8975f5c5SAndroid Build Coastguard Worker 263*8975f5c5SAndroid Build Coastguard Worker deps = [ "//chrome/test/chromedriver:chromedriver_server($host_toolchain)" ] 264*8975f5c5SAndroid Build Coastguard Worker script = "//build/gn_run_binary.py" 265*8975f5c5SAndroid Build Coastguard Worker sources = [ 266*8975f5c5SAndroid Build Coastguard Worker "//buildtools/third_party/eu-strip/bin/eu-strip", 267*8975f5c5SAndroid Build Coastguard Worker prog_name, 268*8975f5c5SAndroid Build Coastguard Worker ] 269*8975f5c5SAndroid Build Coastguard Worker outputs = [ _stripped_chromedriver_file ] 270*8975f5c5SAndroid Build Coastguard Worker args = [ 271*8975f5c5SAndroid Build Coastguard Worker rebase_path("//buildtools/third_party/eu-strip/bin/eu-strip", 272*8975f5c5SAndroid Build Coastguard Worker root_build_dir), 273*8975f5c5SAndroid Build Coastguard Worker "-o", 274*8975f5c5SAndroid Build Coastguard Worker rebase_path(_stripped_chromedriver_file, root_build_dir), 275*8975f5c5SAndroid Build Coastguard Worker rebase_path(prog_name, root_build_dir), 276*8975f5c5SAndroid Build Coastguard Worker ] 277*8975f5c5SAndroid Build Coastguard Worker 278*8975f5c5SAndroid Build Coastguard Worker visibility = [] 279*8975f5c5SAndroid Build Coastguard Worker visibility = [ 280*8975f5c5SAndroid Build Coastguard Worker ":*", 281*8975f5c5SAndroid Build Coastguard Worker "//fuchsia_web/av_testing:*", 282*8975f5c5SAndroid Build Coastguard Worker ] 283*8975f5c5SAndroid Build Coastguard Worker} 284*8975f5c5SAndroid Build Coastguard Worker 285*8975f5c5SAndroid Build Coastguard Workercipd_archive("chromedriver") { 286*8975f5c5SAndroid Build Coastguard Worker package_subdirectory = "${_host_tools_directory}/\${os}" 287*8975f5c5SAndroid Build Coastguard Worker description = "Prebuilt Chromedriver binary for Fuchsia host." 288*8975f5c5SAndroid Build Coastguard Worker install_mode = "copy" 289*8975f5c5SAndroid Build Coastguard Worker testonly = true 290*8975f5c5SAndroid Build Coastguard Worker 291*8975f5c5SAndroid Build Coastguard Worker deps = [ ":strip_chromedriver_binary" ] 292*8975f5c5SAndroid Build Coastguard Worker sources = [ _stripped_chromedriver_file ] 293*8975f5c5SAndroid Build Coastguard Worker} 294*8975f5c5SAndroid Build Coastguard Worker 295*8975f5c5SAndroid Build Coastguard Workercipd_test_archive("tests") { 296*8975f5c5SAndroid Build Coastguard Worker package_subdirectory = _web_engine_directory 297*8975f5c5SAndroid Build Coastguard Worker description = "Prebuilt Chromium tests for Fuchsia." 298*8975f5c5SAndroid Build Coastguard Worker testonly = true 299*8975f5c5SAndroid Build Coastguard Worker 300*8975f5c5SAndroid Build Coastguard Worker _common_tests = [ 301*8975f5c5SAndroid Build Coastguard Worker "${root_gen_dir}/base/base_unittests/base_unittests.far", 302*8975f5c5SAndroid Build Coastguard Worker "${root_gen_dir}/ipc/ipc_tests/ipc_tests.far", 303*8975f5c5SAndroid Build Coastguard Worker "${root_gen_dir}/media/media_unittests/media_unittests.far", 304*8975f5c5SAndroid Build Coastguard Worker "${root_gen_dir}/mojo/mojo_unittests/mojo_unittests.far", 305*8975f5c5SAndroid Build Coastguard Worker "${root_gen_dir}/skia/skia_unittests/skia_unittests.far", 306*8975f5c5SAndroid Build Coastguard Worker "${root_gen_dir}/third_party/blink/common/blink_common_unittests/blink_common_unittests.far", 307*8975f5c5SAndroid Build Coastguard Worker ] 308*8975f5c5SAndroid Build Coastguard Worker deps = [ 309*8975f5c5SAndroid Build Coastguard Worker "//base:base_unittests_pkg", 310*8975f5c5SAndroid Build Coastguard Worker "//ipc:ipc_tests_pkg", 311*8975f5c5SAndroid Build Coastguard Worker "//media:media_unittests_pkg", 312*8975f5c5SAndroid Build Coastguard Worker "//mojo:mojo_unittests_pkg", 313*8975f5c5SAndroid Build Coastguard Worker "//skia:skia_unittests_pkg", 314*8975f5c5SAndroid Build Coastguard Worker "//third_party/blink/common:blink_common_unittests_pkg", 315*8975f5c5SAndroid Build Coastguard Worker ] 316*8975f5c5SAndroid Build Coastguard Worker 317*8975f5c5SAndroid Build Coastguard Worker _web_engine_tests = [ "${root_gen_dir}/fuchsia_web/webengine/web_engine_integration_tests/web_engine_integration_tests.far" ] 318*8975f5c5SAndroid Build Coastguard Worker deps += [ "//fuchsia_web/webengine:web_engine_integration_tests_pkg" ] 319*8975f5c5SAndroid Build Coastguard Worker 320*8975f5c5SAndroid Build Coastguard Worker _cast_runner_tests = [ "${root_gen_dir}/fuchsia_web/runners/cast_runner_integration_tests/cast_runner_integration_tests.far" ] 321*8975f5c5SAndroid Build Coastguard Worker deps += [ "//fuchsia_web/runners:cast_runner_integration_tests_pkg" ] 322*8975f5c5SAndroid Build Coastguard Worker 323*8975f5c5SAndroid Build Coastguard Worker _all_tests = _common_tests + _web_engine_tests + _cast_runner_tests 324*8975f5c5SAndroid Build Coastguard Worker 325*8975f5c5SAndroid Build Coastguard Worker test_sets = [ 326*8975f5c5SAndroid Build Coastguard Worker { 327*8975f5c5SAndroid Build Coastguard Worker manifest_path = "${target_gen_dir}/test_manifest.json" 328*8975f5c5SAndroid Build Coastguard Worker far_sources = _all_tests 329*8975f5c5SAndroid Build Coastguard Worker }, 330*8975f5c5SAndroid Build Coastguard Worker { 331*8975f5c5SAndroid Build Coastguard Worker manifest_path = "${target_gen_dir}/common_tests_manifest.json" 332*8975f5c5SAndroid Build Coastguard Worker far_sources = _common_tests 333*8975f5c5SAndroid Build Coastguard Worker }, 334*8975f5c5SAndroid Build Coastguard Worker { 335*8975f5c5SAndroid Build Coastguard Worker manifest_path = "${target_gen_dir}/web_engine_tests_manifest.json" 336*8975f5c5SAndroid Build Coastguard Worker far_sources = _web_engine_tests 337*8975f5c5SAndroid Build Coastguard Worker }, 338*8975f5c5SAndroid Build Coastguard Worker { 339*8975f5c5SAndroid Build Coastguard Worker manifest_path = "${target_gen_dir}/cast_runner_tests_manifest.json" 340*8975f5c5SAndroid Build Coastguard Worker far_sources = _cast_runner_tests 341*8975f5c5SAndroid Build Coastguard Worker }, 342*8975f5c5SAndroid Build Coastguard Worker ] 343*8975f5c5SAndroid Build Coastguard Worker} 344*8975f5c5SAndroid Build Coastguard Worker 345*8975f5c5SAndroid Build Coastguard Worker# Construct a consolidated directory of web_engine debugging symbols using the 346*8975f5c5SAndroid Build Coastguard Worker# GNU .build_id structure for CIPD archival. 347*8975f5c5SAndroid Build Coastguard Worker_web_engine_build_ids_target = "web_engine_debug_symbol_directory" 348*8975f5c5SAndroid Build Coastguard Worker_web_engine_debug_symbols_archive_name = "web_engine_debug_symbols" 349*8975f5c5SAndroid Build Coastguard Worker_web_engine_debug_symbols_outdir = "${target_gen_dir}/${_web_engine_debug_symbols_archive_name}/${_web_engine_build_ids_target}" 350*8975f5c5SAndroid Build Coastguard Worker 351*8975f5c5SAndroid Build Coastguard Workerbuild_id_dir(_web_engine_build_ids_target) { 352*8975f5c5SAndroid Build Coastguard Worker testonly = true # Some of the archives contain test packages. 353*8975f5c5SAndroid Build Coastguard Worker output_path = _web_engine_debug_symbols_outdir 354*8975f5c5SAndroid Build Coastguard Worker deps = [ ":web_engine_archives_with_tests" ] 355*8975f5c5SAndroid Build Coastguard Worker} 356*8975f5c5SAndroid Build Coastguard Worker 357*8975f5c5SAndroid Build Coastguard Workerfuchsia_cipd_package(_web_engine_debug_symbols_archive_name) { 358*8975f5c5SAndroid Build Coastguard Worker testonly = true 359*8975f5c5SAndroid Build Coastguard Worker package = "${package_base_path}/${_web_engine_directory}/${targetarch}/debug-symbols" 360*8975f5c5SAndroid Build Coastguard Worker package_root = _web_engine_debug_symbols_outdir 361*8975f5c5SAndroid Build Coastguard Worker package_definition_name = "${target_name}.yaml" 362*8975f5c5SAndroid Build Coastguard Worker package_definition_dir = "${target_gen_dir}/${target_name}" 363*8975f5c5SAndroid Build Coastguard Worker description = "Debugging symbols for prebuilt binaries from Chromium." 364*8975f5c5SAndroid Build Coastguard Worker use_absolute_root_path = true 365*8975f5c5SAndroid Build Coastguard Worker 366*8975f5c5SAndroid Build Coastguard Worker directories = [ "." ] 367*8975f5c5SAndroid Build Coastguard Worker deps = [ ":${_web_engine_build_ids_target}" ] 368*8975f5c5SAndroid Build Coastguard Worker} 369*8975f5c5SAndroid Build Coastguard Worker 370*8975f5c5SAndroid Build Coastguard Worker# A group for production archives to ensure nothing is testonly. 371*8975f5c5SAndroid Build Coastguard Workergroup("web_engine_production_archives") { 372*8975f5c5SAndroid Build Coastguard Worker deps = [ 373*8975f5c5SAndroid Build Coastguard Worker ":cast_runner${_archive_suffix}", 374*8975f5c5SAndroid Build Coastguard Worker ":web_engine${_archive_suffix}", 375*8975f5c5SAndroid Build Coastguard Worker ] 376*8975f5c5SAndroid Build Coastguard Worker} 377*8975f5c5SAndroid Build Coastguard Worker 378*8975f5c5SAndroid Build Coastguard Worker# Used by both the main group as well as :debug_symbols. 379*8975f5c5SAndroid Build Coastguard Workergroup("web_engine_archives_with_tests") { 380*8975f5c5SAndroid Build Coastguard Worker testonly = true # tests and web_engine_shell are testonly. 381*8975f5c5SAndroid Build Coastguard Worker deps = [ 382*8975f5c5SAndroid Build Coastguard Worker ":tests${_archive_suffix}", 383*8975f5c5SAndroid Build Coastguard Worker ":web_engine_production_archives", 384*8975f5c5SAndroid Build Coastguard Worker ":web_engine_shell${_archive_suffix}", 385*8975f5c5SAndroid Build Coastguard Worker ] 386*8975f5c5SAndroid Build Coastguard Worker} 387*8975f5c5SAndroid Build Coastguard Worker 388*8975f5c5SAndroid Build Coastguard Worker# TODO(zijiehe): Rename to "cipd_yaml" when possible. 389*8975f5c5SAndroid Build Coastguard Worker# This target only creates yaml files and related archives for cipd rather 390*8975f5c5SAndroid Build Coastguard Worker# than executing the cipd instance to upload them. 391*8975f5c5SAndroid Build Coastguard Worker# Currently it's named as "cipd" to match the folder name which introduces 392*8975f5c5SAndroid Build Coastguard Worker# confusions. 393*8975f5c5SAndroid Build Coastguard Workergroup("cipd") { 394*8975f5c5SAndroid Build Coastguard Worker testonly = true # Some archives are testonly. 395*8975f5c5SAndroid Build Coastguard Worker deps = [ 396*8975f5c5SAndroid Build Coastguard Worker ":web_engine_archives_with_tests", 397*8975f5c5SAndroid Build Coastguard Worker 398*8975f5c5SAndroid Build Coastguard Worker # Symbols are not uploaded for the following. 399*8975f5c5SAndroid Build Coastguard Worker ":chromedriver${_archive_suffix}", 400*8975f5c5SAndroid Build Coastguard Worker ":web_engine_debug_symbols", 401*8975f5c5SAndroid Build Coastguard Worker ] 402*8975f5c5SAndroid Build Coastguard Worker visibility = [] # Required to replace the file default. 403*8975f5c5SAndroid Build Coastguard Worker visibility = [ "//:gn_all" ] 404*8975f5c5SAndroid Build Coastguard Worker} 405