# Copyright 2018 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. assert(is_fuchsia) import("//build/config/fuchsia/fidl_library.gni") import("//build/util/process_version.gni") # Location where Fuchsia release archives and supporting files are placed. _release_artifact_root = "$root_out_dir/fuchsia_artifacts" fidl_library("cast_fidl") { library_name = "cast" namespace = "chromium" sources = [ "fidl/cast/api_bindings.fidl", "fidl/cast/application_config.fidl", "fidl/cast/cast_channel.fidl", "fidl/cast/queryable_data.fidl", ] public_deps = [ "//third_party/fuchsia-sdk/sdk:web", ] } # gn binary location. if (host_os == "mac") { _gn_path = "//buildtools/mac/gn" } else if (host_os == "linux") { _gn_path = "//buildtools/linux64/gn" } # Produces a LICENSE file for Fuchsia packages. _license_path = "$_release_artifact_root/LICENSE" action("license") { script = "//tools/licenses.py" inputs = [ "$_gn_path", ] outputs = [ _license_path, ] args = [ "license_file", rebase_path(_license_path, root_build_dir), "--gn-target", "//fuchsia/runners:web_runner_pkg", "--gn-out-dir", ".", ] } # Extracts the numeric Chrome build ID and writes it to a file in the output # directory. # # To check out the repository on the commit where the build ID was generated, # simply call `git checkout `, and Git will check out the commit # associated with the tag. process_version("build_id") { template_file = "cipd/build_id.template" sources = [ "//chrome/VERSION", ] output = "$_release_artifact_root/build_id.txt" process_only = true } # Puts copies of files at the top level of the CIPD archive's structure. copy("release_archives") { sources = [ "$root_gen_dir/fuchsia/engine/chromium/chromium.far", "$root_gen_dir/fuchsia/http/http/http.far", "$root_gen_dir/fuchsia/runners/cast_runner/cast_runner.far", "$root_gen_dir/fuchsia/runners/web_runner/web_runner.far", ] outputs = [ "$_release_artifact_root/{{source_file_part}}", ] deps = [ "//fuchsia/engine:web_engine", "//fuchsia/http:http_pkg", "//fuchsia/runners:cast_runner_pkg", "//fuchsia/runners:web_runner_pkg", ] } if (is_official_build) { # Location where debug symbol tarballs are placed. _symbol_artifact_root = "$root_out_dir/symbol_artifacts" # Create a manifest of symbol archives for downstream consumption. _symbol_tarballs = [ "$root_gen_dir/fuchsia/engine/chromium/chromium.symbols.tar.bz2", "$root_gen_dir/fuchsia/http/http/http.symbols.tar.bz2", "$root_gen_dir/fuchsia/runners/cast_runner/cast_runner.symbols.tar.bz2", "$root_gen_dir/fuchsia/runners/web_runner/web_runner.symbols.tar.bz2", ] _symbol_manifest = "$target_gen_dir/debug_symbols.json" write_file(_symbol_manifest, _symbol_tarballs, "json") copy("symbol_tarballs") { sources = [ _symbol_manifest, "$_release_artifact_root/build_id.txt", _license_path, ] + _symbol_tarballs outputs = [ "$_symbol_artifact_root/{{source_file_part}}", ] deps = [ ":build_id", ":license", "//fuchsia/engine:symbol_archive", "//fuchsia/http:symbol_archive", "//fuchsia/runners:cast_runner_symbol_archive", "//fuchsia/runners:web_runner_symbol_archive", ] } # Specifies the build steps that must be performed before the creation of # a CIPD archive. group("archive_sources") { deps = [ ":build_id", ":license", ":release_archives", ":symbol_tarballs", ] } } # is_official_build # Used by the top-level "gn_all" target to discover Fuchsia build targets. group("gn_all") { testonly = true deps = [ "base:cr_fuchsia_base_unittests", "engine:web_engine", "engine:web_engine_browsertests", "engine:web_engine_unittests", "http:http_service_tests", "runners:cast_runner", "runners:cast_runner_browsertests", "runners:cast_runner_integration_tests", "runners:web_runner", "//chromecast/bindings:bindings_manager_fuchsia", ] }