blob: 03a7216a59fe9054f9470f127414550f8cd362e1 [file] [log] [blame]
# Copyright 2020 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.
import("../scripts/build/ninja/copy.gni")
import("../scripts/build/ninja/devtools_entrypoint.gni")
import("../scripts/build/ninja/node.gni")
import("../scripts/build/ninja/vars.gni")
import("../third_party/typescript/typescript.gni")
group("front_end") {
public_deps = [
":embedder-scripts",
":html_entrypoints",
":integration_test_runner",
":legacy_css",
":legacy_entrypoints",
":ts_library-verification",
"core/common:bundle",
"core/i18n:bundle",
"core/i18n:i18n_locales",
"core/protocol_client:bundle",
"emulated_devices/optimized:optimized_emulated_devices",
"entrypoints/devtools_app",
"entrypoints/formatter_worker:worker_entrypoint",
"entrypoints/heap_snapshot_worker:worker_entrypoint",
"entrypoints/inspector",
"entrypoints/js_app",
"entrypoints/lighthouse_worker:bundle",
"entrypoints/ndb_app",
"entrypoints/node_app",
"entrypoints/shell",
"entrypoints/startup:bundle",
"entrypoints/toolbox",
"entrypoints/wasmparser_worker:worker_entrypoint",
"entrypoints/worker_app",
"legacy_test_runner",
"models/bindings:bundle",
"models/extensions:bundle",
"models/formatter:bundle",
"models/har_importer:bundle",
"models/heap_snapshot_model:bundle",
"models/issues_manager:bundle",
"models/issues_manager:descriptions",
"models/javascript_metadata:bundle",
"models/recorder:bundle",
"models/text_utils:bundle",
"models/timeline_model:bundle",
"models/workspace:bundle",
"models/workspace_diff:bundle",
"panels/event_listeners:bundle",
"panels/screencast:bundle",
"panels/search:bundle",
"panels/snippets:bundle",
"third_party/diff:bundle",
"third_party/lighthouse",
"third_party/puppeteer:bundle",
"ui/components/helpers:bundle",
"ui/components/render_coordinator:bundle",
"ui/legacy:bundle",
"ui/legacy/components/color_picker:bundle",
"ui/legacy/components/cookie_table:bundle",
"ui/legacy/components/data_grid:bundle",
"ui/legacy/components/inline_editor:bundle",
"ui/legacy/components/text_editor:bundle",
"ui/legacy/components/utils:bundle",
"ui/legacy/theme_support:bundle",
]
}
group("legacy_css") {
public_deps = [
"entrypoints/inspector_main:legacy_css",
"models/persistence:legacy_css",
"panels/application:legacy_css",
"panels/console:legacy_css",
"panels/elements:legacy_css",
"panels/emulation:legacy_css",
"panels/help:legacy_css",
"panels/mobile_throttling:legacy_css",
"third_party/codemirror:legacy_css",
"ui/legacy:legacy_css",
"ui/legacy/components/data_grid:legacy_css",
"ui/legacy/components/inline_editor:legacy_css",
"ui/legacy/components/object_ui:legacy_css",
"ui/legacy/components/text_editor:legacy_css",
"ui/legacy/components/utils:legacy_css",
]
}
group("legacy_entrypoints") {
public_deps = [
"core/common:legacy",
"core/host:legacy",
"core/protocol_client:legacy",
"core/root:legacy",
"core/sdk:legacy",
"entrypoints/heap_snapshot_worker:legacy",
"entrypoints/main:legacy",
"models/bindings:legacy",
"models/extensions:legacy",
"models/formatter:legacy",
"models/har_importer:legacy",
"models/heap_snapshot_model:legacy",
"models/javascript_metadata:legacy",
"models/persistence:legacy",
"models/text_utils:legacy",
"models/timeline_model:legacy",
"models/workspace:legacy",
"models/workspace_diff:legacy",
"panels/accessibility:legacy",
"panels/animation:legacy",
"panels/application:legacy",
"panels/browser_debugger:legacy",
"panels/changes:legacy",
"panels/console:legacy",
"panels/console_counters:legacy",
"panels/coverage:legacy",
"panels/developer_resources:legacy",
"panels/elements:legacy",
"panels/emulation:legacy",
"panels/event_listeners:legacy",
"panels/help:legacy",
"panels/layer_viewer:legacy",
"panels/layers:legacy",
"panels/lighthouse:legacy",
"panels/mobile_throttling:legacy",
"panels/network:legacy",
"panels/profiler:legacy",
"panels/search:legacy",
"panels/security:legacy",
"panels/settings:legacy",
"panels/snippets:legacy",
"panels/sources:legacy",
"panels/timeline:legacy",
"panels/web_audio:legacy",
"third_party/diff:legacy",
"ui/legacy:legacy",
"ui/legacy/components/color_picker:legacy",
"ui/legacy/components/cookie_table:legacy",
"ui/legacy/components/data_grid:legacy",
"ui/legacy/components/inline_editor:legacy",
"ui/legacy/components/object_ui:legacy",
"ui/legacy/components/perf_ui:legacy",
"ui/legacy/components/quick_open:legacy",
"ui/legacy/components/source_frame:legacy",
"ui/legacy/components/text_editor:legacy",
"ui/legacy/components/utils:legacy",
]
}
copy_to_gen("integration_test_runner-gen") {
sources = [ "integration_test_runner.html" ]
}
group("integration_test_runner") {
public_deps = [ ":integration_test_runner-gen" ]
data_deps = public_deps
metadata = {
grd_files = get_target_outputs(":integration_test_runner-gen")
}
}
node_action("html_entrypoints") {
inputs = [ "entrypoint_template.html" ]
script = "scripts/build/generate_html_entrypoint.js"
args = [
"--template",
rebase_path("entrypoint_template.html", root_build_dir),
"--out-directory",
rebase_path(target_gen_dir, root_build_dir),
]
outputs = [
"$target_gen_dir/devtools_app.html",
"$target_gen_dir/inspector.html",
"$target_gen_dir/js_app.html",
"$target_gen_dir/ndb_app.html",
"$target_gen_dir/node_app.html",
"$target_gen_dir/toolbox.html",
"$target_gen_dir/worker_app.html",
]
metadata = {
grd_files = outputs
}
}
copy_to_gen("embedder-scripts-gen") {
sources = [
"Tests.js",
"devtools_compatibility.js",
]
}
group("embedder-scripts") {
public_deps = [ ":embedder-scripts-gen" ]
data_deps = public_deps
metadata = {
grd_files = get_target_outputs(":embedder-scripts-gen")
}
}
# This target is used to perform checks on all generated `.d.ts` files.
# Previously we would only run these checks when `is_debug=false`, but
# this complicated debugging. Therefore, this target now always perform
# the check, but we only check the `.d.ts` files once (rather than for
# every single defined `ts_library`).
#
# Whenever a folder is fully checked by the TypeScript compiler, add
# the folder to the `deps` of this target AND add a corresponding
# `import`-statement to the `verification.ts` file. Without adding
# the `import`-statement, TypeScript will be "smart" and ignore all
# declaration files it doesn't have to use.
ts_library("ts_library-verification") {
verify_lib_check = true
sources = [ "verification.ts" ]
deps = [
"core/common:bundle",
"core/dom_extension:bundle",
"core/host:bundle",
"core/protocol_client:bundle",
"core/root:bundle",
"core/sdk:bundle",
"models/bindings:bundle",
"models/logs:bundle",
"models/workspace:bundle",
"ui/legacy/components/color_picker:bundle",
]
}