# Copyright 2019 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//ash/webui/media_app_ui/media_app_files.gni")
import("//tools/typescript/ts_library.gni")
import("//ui/webui/resources/tools/optimize_webui.gni")

assert(is_chromeos, "Media App is ChromeOS only")

# Copy all the required files for TSC to this directory.
mock_ts_root_dir = "$target_gen_dir/stage_ts"

copy("stage_for_mock_tsc") {
  visibility = [ ":build_ts" ]
  sources = [
    "//ash/webui/media_app_ui/resources/js/media_app.d.ts",
    "app_main.ts",
  ]
  foreach(file, media_app_mojom_files) {
    sources += [ "$ts_root_dir/$file" ]
  }
  public_deps = [ "//ash/webui/media_app_ui:copy_mojo" ]
  outputs = [ "${mock_ts_root_dir}/{{source_file_part}}" ]
}

ts_library("build_ts") {
  root_dir = mock_ts_root_dir
  tsconfig_base = "tsconfig_base.json"
  in_files = [ "app_main.ts" ] + media_app_mojom_files

  definitions = [ "$mock_ts_root_dir/media_app.d.ts" ]
  out_dir = "${target_gen_dir}/tsc"
  deps = [
    "//ash/webui/media_app_ui:build_ts",
    "//ui/webui/resources/mojo:build_ts",
  ]
  extra_deps = [ ":stage_for_mock_tsc" ]

  path_mappings = [ "//resources/mojo/*|" +
                    rebase_path("$root_gen_dir/ui/webui/resources/tsc/mojo/*",
                                target_gen_dir) ]
}
