blob: b37bbd6e4ff13c9da3f3ff909b35a092fa4e680f [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",
"components:bundle",
"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/worker_app",
"formatter:bundle",
"legacy_test_runner",
"models/bindings:bundle",
"models/extensions: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",
"panels/event_listeners:bundle",
"panels/screencast:bundle",
"panels/search:bundle",
"snippets:bundle",
"theme_support: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",
"wasmparser_worker:worker_entrypoint",
"worker_main:bundle",
"workspace_diff:bundle",
]
}
group("legacy_css") {
public_deps = [
"cm:legacy_css",
"components:legacy_css",
"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",
"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",
]
}
group("legacy_entrypoints") {
public_deps = [
"components:legacy",
"core/common:legacy",
"core/host:legacy",
"core/protocol_client:legacy",
"core/root:legacy",
"core/sdk:legacy",
"entrypoints/heap_snapshot_worker:legacy",
"formatter:legacy",
"main:legacy",
"models/bindings:legacy",
"models/extensions: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",
"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",
"security:legacy",
"settings:legacy",
"snippets:legacy",
"sources:legacy",
"third_party/diff:legacy",
"timeline: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",
"web_audio:legacy",
"workspace_diff:legacy",
]
}
group("integration_test_runner") {
public_deps = [ ":integration_test_runner-gen" ]
data_deps = public_deps
}
copy_to_gen("integration_test_runner-gen") {
sources = [ "integration_test_runner.html" ]
}
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",
]
}
copy_to_gen("embedder-scripts") {
sources = [
"Tests.js",
"devtools_compatibility.js",
]
}
# 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 = [
"browser_sdk:bundle",
"core/common:bundle",
"core/dom_extension:bundle",
"core/host:bundle",
"core/protocol_client:bundle",
"core/root:bundle",
"core/sdk:bundle",
"models/bindings:bundle",
"models/workspace:bundle",
"ui/legacy/components/color_picker:bundle",
]
}