# Copyright 2019 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.

# Build targets for constructing CIPD release archives.

assert(is_fuchsia)

import("//build/cipd/cipd.gni")
import("//build/util/process_version.gni")

# gn binary location.
if (host_os == "mac") {
  _gn_path = "//buildtools/mac/gn"
} else if (host_os == "linux") {
  _gn_path = "//buildtools/linux64/gn"
}

# 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 <build-id>`, and Git will check out the commit
# associated with the <build-id> tag.
process_version("build_id") {
  template_file = "build_id.template"
  sources = [ "//chrome/VERSION" ]
  output = "${target_gen_dir}/build_id.txt"
  process_only = true
}

# Prepares a CIPD archive and generates a manifest file.
#
# Parameters:
#   package_definition_yaml: The filename to use for the generated CIPD YAML
#                            file.
#   package: The path where the package will be located inside the CIPD
#            repository.
#   description: Sets the "description" field in CIPD metadata.
#   install_mode: String, should be either "symlink" or "copy".
#   deps: A list of targets to build prior to copying files.
#   sources: A list of files to copy into the staging root.
template("cipd_archive") {
  forward_variables_from(invoker,
                         [
                           "deps",
                           "sources",
                           "testonly",
                         ])

  # Produces a consolidated license file.
  action("${target_name}_license") {
    _license_path = "${target_gen_dir}/${target_name}/LICENSE"
    _invoker_dir = get_label_info(":${invoker.target_name}", "dir")
    _license_target = "${_invoker_dir}:${invoker.target_name}"
    script = "//tools/licenses.py"
    inputs = [ "$_gn_path" ]
    outputs = [ _license_path ]
    args = [
      "license_file",
      rebase_path(_license_path, root_build_dir),
      "--gn-target",
      _license_target,
      "--gn-out-dir",
      ".",
    ]
  }

  if (!defined(deps)) {
    deps = []
  }
  deps += [
    ":${target_name}_license",
    ":build_id",
  ]

  if (!defined(sources)) {
    sources = []
  }
  sources += get_target_outputs(":${target_name}_license")

  cipd_package_definition(target_name) {
    forward_variables_from(invoker,
                           [
                             "description",
                             "install_mode",
                             "package",
                             "package_definition_yaml",
                           ])
  }
}

cipd_archive("webrunner") {
  package_definition_yaml = "webrunner.yaml"
  package = "chromium/fuchsia/webrunner-\${targetarch}"
  description = "Prebuilt Chrome and Web Runner binaries for Fuchsia."

  deps = [
    "//fuchsia/engine:web_engine",
    "//fuchsia/engine:web_engine_with_webui",
    "//fuchsia/runners:web_runner_pkg",
  ]

  sources = [
    "${root_gen_dir}/fuchsia/engine/web_engine/web_engine.far",
    "${root_gen_dir}/fuchsia/engine/web_engine_with_webui/web_engine_with_webui.far",
    "${root_gen_dir}/fuchsia/runners/web_runner/web_runner.far",
  ]
}

cipd_archive("castrunner") {
  package_definition_yaml = "castrunner.yaml"
  package = "chromium/fuchsia/castrunner-\${targetarch}"
  description = "Prebuilt Cast application Runner binaries for Fuchsia."

  deps = [ "//fuchsia/runners:cast_runner_pkg" ]

  sources = [ "${root_gen_dir}/fuchsia/runners/cast_runner/cast_runner.far" ]
}

cipd_archive("http") {
  package_definition_yaml = "http.yaml"
  package = "chromium/fuchsia/http-\${targetarch}"
  description = "Prebuilt HTTP service binary for Fuchsia."

  deps = [ "//fuchsia/http:http_pkg" ]

  sources = [ "${root_gen_dir}/fuchsia/http/http/http.far" ]
}

cipd_archive("web_engine_shell") {
  package_definition_yaml = "web_engine_shell.yaml"
  package = "chromium/fuchsia/web_engine_shell-\${targetarch}"
  description = "Simple command-line embedder for WebEngine."
  testonly = true

  deps = [ "//fuchsia/engine:web_engine_shell_pkg" ]

  sources =
      [ "${root_gen_dir}/fuchsia/engine/web_engine_shell/web_engine_shell.far" ]
}

_stripped_chromedriver_file = "${root_out_dir}/clang_x64/stripped/chromedriver"

action("strip_chromedriver_binary") {
  testonly = true

  prog_name = "${root_out_dir}/clang_x64/chromedriver"

  deps = [ "//chrome/test/chromedriver:chromedriver($host_toolchain)" ]
  script = "//build/gn_run_binary.py"
  sources = [
    "//buildtools/third_party/eu-strip/bin/eu-strip",
    prog_name,
  ]
  outputs = [ _stripped_chromedriver_file ]
  args = [
    rebase_path("//buildtools/third_party/eu-strip/bin/eu-strip",
                root_build_dir),
    "-o",
    rebase_path(_stripped_chromedriver_file, root_build_dir),
    rebase_path(prog_name, root_build_dir),
  ]

  visibility = [ ":*" ]
}

cipd_archive("chromedriver") {
  package_definition_yaml = "chromedriver.yaml"
  package = "chromium/fuchsia/chromedriver/\${os}-\${arch}"
  description = "Prebuilt Chromedriver binary for Fuchsia host."
  testonly = true
  install_mode = "copy"
  deps = [ ":strip_chromedriver_binary" ]

  sources = [ _stripped_chromedriver_file ]
}

cipd_archive("tests") {
  _manifest_path = "${target_gen_dir}/test_manifest.json"
  package_definition_yaml = "tests.yaml"
  package = "chromium/fuchsia/tests-\${targetarch}"
  description = "Prebuilt Chromium tests for Fuchsia."
  testonly = true

  deps = [
    "//base:base_unittests_pkg",
    "//fuchsia/runners:cast_runner_integration_tests_pkg",
    "//fuchsia/runners:web_runner_integration_tests_pkg",
    "//ipc:ipc_tests_pkg",
    "//media:media_unittests_pkg",
    "//mojo:mojo_unittests_pkg",
    "//skia:skia_unittests_pkg",
    "//third_party/blink/common:blink_common_unittests_pkg",
  ]

  far_sources = [
    "${root_gen_dir}/base/base_unittests/base_unittests.far",
    "${root_gen_dir}/fuchsia/runners/cast_runner_integration_tests/cast_runner_integration_tests.far",
    "${root_gen_dir}/fuchsia/runners/web_runner_integration_tests/web_runner_integration_tests.far",
    "${root_gen_dir}/ipc/ipc_tests/ipc_tests.far",
    "${root_gen_dir}/media/media_unittests/media_unittests.far",
    "${root_gen_dir}/mojo/mojo_unittests/mojo_unittests.far",
    "${root_gen_dir}/skia/skia_unittests/skia_unittests.far",
    "${root_gen_dir}/third_party/blink/common/blink_common_unittests/blink_common_unittests.far",
  ]

  # Build a JSON manifest of the tests and include it in the archive.
  _manifest_contents = []
  foreach(source, far_sources) {
    package_name = get_path_info(source, "name")

    _manifest_contents += [
      {
        package = package_name
        component_name = package_name
      },
    ]
  }
  write_file(_manifest_path, _manifest_contents, "json")

  sources = far_sources + [ _manifest_path ]
}

cipd_archive("debug_symbols") {
  package_definition_yaml = "debug_symbols.yaml"
  package = "chromium/fuchsia/debug-symbols-\${targetarch}"
  description = "Debugging symbols for prebuilt binaries from Chromium."

  _symbol_tarballs = [
    "${root_gen_dir}/fuchsia/engine/web_engine/web_engine.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")
  _symbol_manifest_contents = []
  foreach(_symbol_file, _symbol_tarballs) {
    _symbol_manifest_contents += [ get_path_info(_symbol_file, "file") ]
  }
  write_file(_symbol_manifest, _symbol_manifest_contents, "json")

  deps = [
    "//fuchsia/engine:symbol_archive",
    "//fuchsia/runners:cast_runner_symbol_archive",
    "//fuchsia/runners:web_runner_symbol_archive",
  ]
  sources = [ _symbol_manifest ] + _symbol_tarballs
}

cipd_archive("clear_key_cdm") {
  package_definition_yaml = "clear_key_cdm.yaml"
  package = "chromium/fuchsia/libclearkeycdm-\${targetarch}"
  description = "Prebuilt libclearkeycdm.so binary for Fuchsia."
  testonly = true

  deps = [ "//media/cdm/library_cdm/clear_key_cdm:clear_key_cdm" ]

  sources = [ "${root_out_dir}/lib/libclearkeycdm.so" ]
}

group("cipd") {
  testonly = true
  deps = [
    ":castrunner",
    ":chromedriver",
    ":clear_key_cdm",
    ":debug_symbols",
    ":http",
    ":tests",
    ":web_engine_shell",
    ":webrunner",
  ]
}
