Chromium Code Reviews| Index: Source/devtools/BUILD.gn |
| diff --git a/Source/devtools/BUILD.gn b/Source/devtools/BUILD.gn |
| index 38c341b30af354a3296598c1a1ad16677fb88a02..448a74f7e748fc2a0e4729f745ebae6f1aeb7924 100644 |
| --- a/Source/devtools/BUILD.gn |
| +++ b/Source/devtools/BUILD.gn |
| @@ -2,6 +2,13 @@ |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| +import("//build/config/features.gni") |
| + |
| +app_names = [ |
|
brettw
2014/09/26 18:24:12
Are we anticipating adding lots more apps here? If
apavlov
2014/09/26 19:47:06
Another app is actually pending addition (from dgo
|
| + "devtools", |
| + "toolbox" |
| +] |
| + |
| gypi_values = exec_script( |
| "//build/gypi_to_gn.py", |
| [ rebase_path("devtools.gypi") ], |
| @@ -23,6 +30,7 @@ devtools_core_files = |
| gypi_values.devtools_main_js_files + |
| gypi_values.devtools_sdk_js_files + |
| gypi_values.devtools_screencast_js_files + |
| + gypi_values.devtools_sdk_js_files + |
|
dgozman
2014/09/26 15:35:37
sdk duplicated
apavlov
2014/09/26 19:47:07
Thanks, it's a bad rebase
|
| gypi_values.devtools_toolbox_js_files + |
| gypi_values.devtools_toolbox_bootstrap_js_files + |
| gypi_values.devtools_ui_js_files + |
| @@ -32,68 +40,128 @@ devtools_extensions_js_files = gypi_values.devtools_extensions_js_files - |
| [ "<@(devtools_extension_api_files)" ] + |
| gypi_values.devtools_extension_api_files |
| +if (debug_devtools) { |
| + # Adding a new <module_name> here requires |
| + # a new ":build_<module_name>_module" target. |
| + core_modules = [ |
| + "bindings", |
| + "common", |
| + "components", |
| + "host", |
| + "main", |
| + "screencast", |
| + "sdk", |
| + "toolbox", |
| + "toolbox_bootstrap", |
| + "ui", |
| + "workspace", |
| + ] |
| + |
| + devtools_modules_js_files = |
| + gypi_values.devtools_audits_js_files + |
| + gypi_values.devtools_console_js_files + |
| + gypi_values.devtools_devices_js_files + |
| + gypi_values.devtools_documentation_js_files + |
| + gypi_values.devtools_elements_js_files + |
| + devtools_extensions_js_files + |
| + gypi_values.devtools_heap_snapshot_worker_js_files + |
| + gypi_values.devtools_layers_js_files + |
| + gypi_values.devtools_network_js_files + |
| + gypi_values.devtools_profiler_js_files + |
| + gypi_values.devtools_promises_js_files + |
| + gypi_values.devtools_resources_js_files + |
| + gypi_values.devtools_script_formatter_worker_js_files + |
| + gypi_values.devtools_settings_js_files + |
| + gypi_values.devtools_source_frame_js_files + |
| + gypi_values.devtools_sources_js_files + |
| + gypi_values.devtools_temp_storage_shared_worker_js_files + |
| + gypi_values.devtools_timeline_js_files |
| + |
| + all_devtools_files = |
| + gypi_values.devtools_cm_css_files + |
| + gypi_values.devtools_cm_js_files + |
| + devtools_core_files + |
| + gypi_values.devtools_module_json_files + |
| + devtools_modules_js_files + |
| + gypi_values.devtools_uglify_files |
| +} |
| + |
| #------------------------------------------------------------------------------- |
| visibility = [ "//third_party/WebKit/*" ] |
| -# Probably need to parameterize this. If we set it to true, there will be some |
| -# further work in the scripts below. |
| -debug_devtools = false |
| - |
| group("devtools_frontend_resources") { |
| deps = [ |
| + ":app_htmls", |
| ":copy_inspector_images", |
| - ":devtools_html", |
| - ":toolbox_html", |
| ":frontend_protocol_sources", |
| ":supported_css_properties", |
| ":build_applications", |
| ] |
| if (!debug_devtools) { |
| - deps += [ |
| - ":concatenated_devtools_css", |
| - ":concatenated_toolbox_css", |
| - ] |
| + foreach(app, app_names) { |
| + deps += [ ":concatenated_" + app + "_css" ] |
| + } |
| } |
| } |
| +# FIXME: Fix the generate_devtools_grd.py script to accept trailing slashes. |
| +resources_out_dir_no_slash = "$root_out_dir/resources/inspector" |
| +resources_out_dir = resources_out_dir_no_slash + "/" |
| + |
| copy("copy_inspector_images") { |
| sources = gypi_values.devtools_image_files |
| - outputs = [ "$root_out_dir/resources/inspector/Images/{{source_file_part}}" ] |
| + outputs = [ resources_out_dir + "Images/{{source_file_part}}" ] |
| } |
| -# TODO(GYP) need debug_devtools support (this runs somewhat differently). |
| action("generate_devtools_grd") { |
| script = "scripts/generate_devtools_grd.py" |
| - input_pages = [ |
| - "$root_out_dir/resources/inspector/devtools.css", |
| - "$root_out_dir/resources/inspector/devtools.html", |
| - "$root_out_dir/resources/inspector/devtools.js", |
| - "$root_out_dir/resources/inspector/toolbox.css", |
| - "$root_out_dir/resources/inspector/toolbox.html", |
| - "$root_out_dir/resources/inspector/toolbox.js", |
| - "$root_out_dir/resources/inspector/audits_module.js", |
| - "$root_out_dir/resources/inspector/console_module.js", |
| - "$root_out_dir/resources/inspector/devices_module.js", |
| - "$root_out_dir/resources/inspector/documentation_module.js", |
| - "$root_out_dir/resources/inspector/elements_module.js", |
| - "$root_out_dir/resources/inspector/extensions_module.js", |
| - "$root_out_dir/resources/inspector/heap_snapshot_worker_module.js", |
| - "$root_out_dir/resources/inspector/layers_module.js", |
| - "$root_out_dir/resources/inspector/network_module.js", |
| - "$root_out_dir/resources/inspector/profiler_module.js", |
| - "$root_out_dir/resources/inspector/promises_module.js", |
| - "$root_out_dir/resources/inspector/resources_module.js", |
| - "$root_out_dir/resources/inspector/script_formatter_worker_module.js", |
| - "$root_out_dir/resources/inspector/settings_module.js", |
| - "$root_out_dir/resources/inspector/source_frame_module.js", |
| - "$root_out_dir/resources/inspector/sources_module.js", |
| - "$root_out_dir/resources/inspector/temp_storage_shared_worker_module.js", |
| - "$root_out_dir/resources/inspector/timeline_module.js", |
| - "$root_out_dir/resources/inspector/devtools_extension_api.js", |
| - ] + gypi_values.devtools_standalone_files + gypi_values.devtools_cm_css_files |
| + if (debug_devtools) { |
| + input_pages = all_devtools_files + [ |
| + "front_end/Runtime.js", |
| + resources_out_dir + "InspectorBackendCommands.js", |
| + resources_out_dir + "SupportedCSSProperties.js", |
| + ] |
| + foreach(app, app_names) { |
| + input_pages += [ |
| + resources_out_dir + app + ".html", |
| + ] |
| + } |
| + } else { |
| + input_pages = [ |
| + resources_out_dir + "audits_module.js", |
| + resources_out_dir + "console_module.js", |
| + resources_out_dir + "devices_module.js", |
| + resources_out_dir + "documentation_module.js", |
| + resources_out_dir + "elements_module.js", |
| + resources_out_dir + "extensions_module.js", |
| + resources_out_dir + "heap_snapshot_worker_module.js", |
| + resources_out_dir + "layers_module.js", |
| + resources_out_dir + "network_module.js", |
| + resources_out_dir + "profiler_module.js", |
| + resources_out_dir + "promises_module.js", |
| + resources_out_dir + "resources_module.js", |
| + resources_out_dir + "script_formatter_worker_module.js", |
| + resources_out_dir + "settings_module.js", |
| + resources_out_dir + "source_frame_module.js", |
| + resources_out_dir + "sources_module.js", |
| + resources_out_dir + "temp_storage_shared_worker_module.js", |
| + resources_out_dir + "timeline_module.js", |
| + resources_out_dir + "devtools_extension_api.js", |
| + ] |
| + input_pages += gypi_values.devtools_standalone_files + |
| + gypi_values.devtools_cm_css_files |
| + |
| + foreach(app, app_names) { |
| + input_pages += [ |
| + resources_out_dir + app + ".css", |
| + resources_out_dir + app + ".html", |
| + resources_out_dir + app + ".js", |
| + ] |
| + } |
| + } |
| images = gypi_values.devtools_image_files |
| images_path = "front_end/Images" |
| @@ -104,7 +172,7 @@ action("generate_devtools_grd") { |
| outputs = [ outfile ] |
| relative_path_dirs = [ |
| - "$root_out_dir/resources/inspector", |
| + resources_out_dir_no_slash, |
| "front_end", |
| ] |
| @@ -115,24 +183,26 @@ action("generate_devtools_grd") { |
| "--output", rebase_path(outfile, root_build_dir), |
| ] |
| - deps = [ |
| - ":devtools_html", |
| - ":toolbox_html", |
| - ":devtools_extension_api", |
| - ":devtools_frontend_resources", |
| - ] |
| + # Only :devtools_frontend_resources is required for !debug_devtools mode. |
| + deps = [ ":devtools_frontend_resources" ] |
| + |
| + if (debug_devtools) { |
| + deps += [ |
| + ":app_htmls", |
| + ":devtools_extension_api", |
| + ] |
| + } |
| } |
| template("generate_app_html") { |
| assert(defined(invoker.app_name), target_name) |
| + app_name = invoker.app_name |
| action(target_name) { |
| script = "scripts/generate_devtools_html.py" |
| - inputs = [ "front_end/" + invoker.app_name + ".html"] |
| - outputs = [ |
| - "$root_out_dir/resources/inspector/" + invoker.app_name + ".html" |
| - ] |
| + inputs = [ "front_end/" + app_name + ".html"] |
| + outputs = [ resources_out_dir + app_name + ".html" ] |
| args = rebase_path(inputs, root_build_dir) + |
| rebase_path(outputs, root_build_dir) |
| @@ -145,19 +215,17 @@ template("generate_app_html") { |
| } |
| } |
| -generate_app_html("devtools_html") { |
| - app_name = "devtools" |
| -} |
| - |
| -generate_app_html("toolbox_html") { |
| - app_name = "toolbox" |
| +foreach(app, app_names) { |
| + generate_app_html(app + "_html") { |
| + app_name = app |
| + } |
| } |
| action("devtools_extension_api") { |
| script = "scripts/generate_devtools_extension_api.py" |
| inputs = gypi_values.devtools_extension_api_files |
| - outputs = [ "$root_out_dir/resources/inspector/devtools_extension_api.js" ] |
| + outputs = [ resources_out_dir + "devtools_extension_api.js" ] |
| args = rebase_path(outputs, root_build_dir) + |
| rebase_path(gypi_values.devtools_extension_api_files, root_build_dir) |
| @@ -166,13 +234,9 @@ action("devtools_extension_api") { |
| action("supported_css_properties") { |
| script = "scripts/generate_supported_css.py" |
| - inputs = [ |
| - "../core/css/CSSProperties.in", |
| - ] |
| + inputs = [ "../core/css/CSSProperties.in" ] |
| - outputs = [ |
| - "$root_out_dir/resources/inspector/SupportedCSSProperties.js" |
| - ] |
| + outputs = [ resources_out_dir + "SupportedCSSProperties.js" ] |
| args = rebase_path(inputs, root_build_dir) + |
| rebase_path(outputs, root_build_dir) |
| @@ -182,68 +246,15 @@ action("frontend_protocol_sources") { |
| script = "scripts/CodeGeneratorFrontend.py" |
| inputs = [ "protocol.json" ] |
| - outputs = [ "$root_out_dir/resources/inspector/InspectorBackendCommands.js" ] |
| + outputs = [ resources_out_dir + "InspectorBackendCommands.js" ] |
| args = rebase_path(inputs, root_build_dir) + [ |
| "--output_js_dir", |
| - rebase_path("$root_out_dir/resources/inspector", root_build_dir), |
| + rebase_path(resources_out_dir, root_build_dir), |
| ] |
| } |
| -action("build_applications") { |
| - script = "scripts/build_applications.py" |
| - helper_scripts = [ |
| - "scripts/modular_build.py", |
| - "scripts/concatenate_application_code.py", |
| - ] |
| - |
| - app_descriptor_names = [ |
| - "front_end/devtools.json", |
| - "front_end/toolbox.json", |
| - ] |
| - |
| - app_loader_names = [ |
| - "front_end/devtools.js", |
| - "front_end/toolbox.js", |
| - ] |
| - |
| - generated_inputs = [ |
| - "$root_out_dir/resources/inspector/Runtime.js", |
| - "$root_out_dir/resources/inspector/InspectorBackendCommands.js", |
| - "$root_out_dir/resources/inspector/SupportedCSSProperties.js", |
| - ] |
| - |
| - inputs = |
| - helper_scripts + app_descriptor_names + app_loader_names + |
| - devtools_core_files + gypi_values.devtools_module_json_files + |
| - generated_inputs |
| - |
| - output_path = "$root_out_dir/resources/inspector/" |
| - outputs = [ |
| - output_path + "devtools.js", |
| - output_path + "toolbox.js", |
| - output_path + "heap_snapshot_worker/heap_snapshot_worker.js", |
| - output_path + "temp_storage_shared_worker/temp_storage_shared_worker.js", |
| - output_path + "script_formatter_worker/script_formatter_worker.js", |
| - ] |
| - |
| - if (debug_devtools) { |
| - debug_flag = "1" |
| - } else { |
| - debug_flag = "0" |
| - } |
| - |
| - app_names = [ |
| - "devtools", |
| - "toolbox" |
| - ] |
| - |
| - args = app_names + [ |
| - "--input_path", rebase_path("front_end", root_build_dir), |
| - "--output_path", rebase_path(output_path, root_build_dir), |
| - "--debug", debug_flag |
| - ] |
| - |
| +group("build_modules") { |
| deps = [ |
| ":build_audits_module", |
| ":build_console_module", |
| @@ -265,178 +276,329 @@ action("build_applications") { |
| ":build_timeline_module", |
| ] |
| + if (debug_devtools) { |
| + foreach(module_name, core_modules) { |
| + deps += [ |
| + ":build_" + module_name + "_module", |
| + ] |
| + } |
| + |
| + copy("copy_runtime_core") { |
| + sources = devtools_core_base_files |
| + outputs = [ resources_out_dir + "/{{source_file_part}}" ] |
| + } |
| + deps += [ ":copy_runtime_core" ] |
| + } |
| +} |
| + |
| +group("build_applications") { |
| + deps = [ ":build_modules" ] |
| + |
| if (!debug_devtools) { |
| - deps += [ |
| - ":devtools_html", |
| - ":toolbox_html", |
| - ":supported_css_properties", |
| - ":frontend_protocol_sources", |
| - ":concatenated_module_descriptors", |
| - ] |
| + # Required for !debug_devtools mode only. |
| + action("build_applications_release") { |
| + script = "scripts/build_applications.py" |
| + helper_scripts = [ |
| + "scripts/modular_build.py", |
| + "scripts/concatenate_application_code.py", |
| + ] |
| + |
| + app_descriptor_names = [] |
| + app_loader_names = [] |
| + |
| + outputs = [] |
| + |
| + foreach(app, app_names) { |
| + app_descriptor_names += [ "front_end/" + app + ".json" ] |
| + app_loader_names += [ "front_end/" + app + ".js" ] |
| + outputs += [ resources_out_dir + app + ".js" ] |
| + } |
| + |
| + generated_inputs = [ |
| + resources_out_dir + "Runtime.js", |
| + resources_out_dir + "InspectorBackendCommands.js", |
| + resources_out_dir + "SupportedCSSProperties.js", |
| + ] |
| + |
| + inputs = |
| + helper_scripts + app_descriptor_names + app_loader_names + |
| + devtools_core_files + gypi_values.devtools_module_json_files + |
| + generated_inputs |
| + |
| + outputs += [ |
| + resources_out_dir + "heap_snapshot_worker/heap_snapshot_worker.js", |
| + resources_out_dir + |
| + "temp_storage_shared_worker/temp_storage_shared_worker.js", |
| + resources_out_dir + |
| + "script_formatter_worker/script_formatter_worker.js", |
| + ] |
| + |
| + args = app_names + [ |
| + "--input_path", rebase_path("front_end", root_build_dir), |
| + "--output_path", rebase_path(resources_out_dir, root_build_dir), |
| + "--debug", "1" |
| + ] |
| + |
| + deps += [ |
| + ":app_htmls", |
| + ":supported_css_properties", |
| + ":frontend_protocol_sources", |
| + ":concatenated_module_descriptors", |
| + ] |
| + } |
| + } |
| +} |
| + |
| +group("app_htmls") { |
| + deps = [] |
| + |
| + foreach(app, app_names) { |
| + deps += [ ":" + app + "_html" ] |
| } |
| } |
| -# Runs the concatenate_module_scripts script. |
| +# Runs the build_module script. |
| # module_name: (String) The JS module name to process. |
| # imported_files: (List of strings) The list of files the input depends on. |
| -template("concatenate_module_scripts") { |
| +template("build_module") { |
| assert(defined(invoker.module_name), target_name) |
| assert(defined(invoker.imported_files), target_name) |
| - action(target_name) { |
| - script = "scripts/concatenate_module_scripts.py" |
| - module_name = invoker.module_name |
| + imported_files = invoker.imported_files |
| + module_name = invoker.module_name |
| + module_json = "front_end/" + module_name + "/module.json" |
| - input = "front_end/" + module_name + "/module.json" |
| - inputs = [ input ] + invoker.imported_files |
| + if (debug_devtools) { |
| + copy(target_name) { |
| + sources = [ module_json ] + imported_files |
| + outputs = [ resources_out_dir + module_name + "/{{source_file_part}}" ] |
| + } |
| + } else { |
| + action(target_name) { |
| + script = "scripts/concatenate_module_scripts.py" |
| - output = "$root_out_dir/resources/inspector/" + module_name + "_module.js" |
| - outputs = [ output ] |
| + inputs = [ module_json ] + imported_files |
| - args = [ |
| - rebase_path(input, root_build_dir), |
| - rebase_path(output, root_build_dir), |
| - ] |
| + output = resources_out_dir + module_name + "_module.js" |
| + outputs = [ output ] |
| + |
| + args = [ |
| + rebase_path(module_json, root_build_dir), |
| + rebase_path(output, root_build_dir), |
| + ] |
| + } |
| } |
| } |
| -concatenate_module_scripts("build_audits_module") { |
| +build_module("build_audits_module") { |
| module_name = "audits" |
| imported_files = gypi_values.devtools_audits_js_files |
| } |
| -concatenate_module_scripts("build_console_module") { |
| +build_module("build_console_module") { |
| module_name = "console" |
| imported_files = gypi_values.devtools_console_js_files |
| } |
| -concatenate_module_scripts("build_devices_module") { |
| +build_module("build_devices_module") { |
| module_name = "devices" |
| imported_files = gypi_values.devtools_devices_js_files |
| } |
| -concatenate_module_scripts("build_documentation_module") { |
| +build_module("build_documentation_module") { |
| module_name = "documentation" |
| imported_files = gypi_values.devtools_documentation_js_files |
| } |
| -concatenate_module_scripts("build_elements_module") { |
| +build_module("build_elements_module") { |
| module_name = "elements" |
| imported_files = gypi_values.devtools_elements_js_files |
| } |
| -concatenate_module_scripts("build_extensions_module") { |
| +build_module("build_extensions_module") { |
| module_name = "extensions" |
| imported_files = devtools_extensions_js_files |
| } |
| -concatenate_module_scripts("build_heap_snapshot_worker_module") { |
| +build_module("build_heap_snapshot_worker_module") { |
| module_name = "heap_snapshot_worker" |
| imported_files = gypi_values.devtools_heap_snapshot_worker_js_files |
| } |
| -concatenate_module_scripts("build_layers_module") { |
| +build_module("build_layers_module") { |
| module_name = "layers" |
| imported_files = gypi_values.devtools_layers_js_files |
| } |
| -concatenate_module_scripts("build_network_module") { |
| +build_module("build_network_module") { |
| module_name = "network" |
| imported_files = gypi_values.devtools_network_js_files |
| } |
| -concatenate_module_scripts("build_profiler_module") { |
| +build_module("build_profiler_module") { |
| module_name = "profiler" |
| imported_files = gypi_values.devtools_profiler_js_files |
| } |
| -concatenate_module_scripts("build_promises_module") { |
| +build_module("build_promises_module") { |
| module_name = "promises" |
| imported_files = gypi_values.devtools_promises_js_files |
| } |
| -concatenate_module_scripts("build_resources_module") { |
| +build_module("build_resources_module") { |
| module_name = "resources" |
| imported_files = gypi_values.devtools_resources_js_files |
| } |
| -concatenate_module_scripts("build_script_formatter_worker_module") { |
| - module_name = "script_formatter_worker" |
| - imported_files = gypi_values.devtools_uglify_files + |
| - gypi_values.devtools_script_formatter_worker_js_files |
| +group("build_script_formatter_worker_module") { |
| + build_module("build_script_formatter_worker_module_base") { |
| + module_name = "script_formatter_worker" |
| + imported_files = gypi_values.devtools_uglify_files + |
| + gypi_values.devtools_script_formatter_worker_js_files |
| + } |
| + |
| + # Required for debug_devtools mode only. |
| + copy("copy_uglify_js_files") { |
| + sources = gypi_values.devtools_uglify_files |
| + outputs = [ resources_out_dir + "UglifyJS/{{source_file_part}}" ] |
| + } |
| + |
| + deps = [ |
| + ":build_script_formatter_worker_module_base", |
| + ":copy_uglify_js_files" |
| + ] |
| } |
| -concatenate_module_scripts("build_settings_module") { |
| +build_module("build_settings_module") { |
| module_name = "settings" |
| imported_files = gypi_values.devtools_settings_js_files |
| } |
| group("build_source_frame_module") { |
| - concatenate_module_scripts("concatenate_source_frame_module") { |
| + build_module("build_source_frame_module_base") { |
| module_name = "source_frame" |
| - imported_files = gypi_values.devtools_source_frame_js_files + |
| - gypi_values.devtools_cm_js_files |
| + imported_files = gypi_values.devtools_source_frame_js_files |
| + # if (!debug_devtools) { |
| + imported_files += gypi_values.devtools_cm_js_files |
| + # } |
| } |
| copy("copy_codemirror_files") { |
| sources = gypi_values.devtools_cm_css_files |
| - outputs = [ "$root_out_dir/resources/inspector/cm/{{source_file_part}}" ] |
| + # if (debug_devtools) { |
| + sources += gypi_values.devtools_cm_js_files |
| + # } |
| + outputs = [ resources_out_dir + "cm/{{source_file_part}}" ] |
| } |
| deps = [ |
| - ":concatenate_source_frame_module", |
| + ":build_source_frame_module_base", |
| ":copy_codemirror_files", |
| ] |
| } |
| -concatenate_module_scripts("build_sources_module") { |
| +build_module("build_sources_module") { |
| module_name = "sources" |
| imported_files = gypi_values.devtools_sources_js_files |
| } |
| -concatenate_module_scripts("build_temp_storage_shared_worker_module") { |
| +build_module("build_temp_storage_shared_worker_module") { |
| module_name = "temp_storage_shared_worker" |
| imported_files = gypi_values.devtools_temp_storage_shared_worker_js_files |
| } |
| -concatenate_module_scripts("build_timeline_module") { |
| +build_module("build_timeline_module") { |
| module_name = "timeline" |
| imported_files = gypi_values.devtools_timeline_js_files |
| } |
| -action("concatenated_module_descriptors") { |
| - script = "scripts/concatenate_module_descriptors.py" |
| +if (debug_devtools) { |
| + build_module("build_common_module") { |
| + module_name = "common" |
| + imported_files = gypi_values.devtools_common_js_files |
| + } |
| - input = "front_end/Runtime.js" |
| - inputs = [ input ] + gypi_values.devtools_module_json_files |
| - outputs = [ "$root_out_dir/resources/inspector/Runtime.js" ] |
| + build_module("build_host_module") { |
| + module_name = "host" |
| + imported_files = gypi_values.devtools_host_js_files |
| + } |
| - args = rebase_path([ input ] + outputs + |
| - gypi_values.devtools_module_json_files, root_build_dir) |
| -} |
| + build_module("build_sdk_module") { |
| + module_name = "sdk" |
| + imported_files = gypi_values.devtools_sdk_js_files |
| + } |
| -template("concatenate_css") { |
| - assert(defined(invoker.app_name), target_name) |
| + build_module("build_ui_module") { |
| + module_name = "ui" |
| + imported_files = gypi_values.devtools_ui_js_files |
| + } |
| - action(target_name) { |
| - script = "scripts/concatenate_css_files.py" |
| + build_module("build_components_module") { |
| + module_name = "components" |
| + imported_files = gypi_values.devtools_components_js_files |
| + } |
| - input_stylesheet = "front_end/" + invoker.app_name + ".css" |
| - inputs = [ input_stylesheet ] + devtools_core_base_files |
| + build_module("build_workspace_module") { |
| + module_name = "workspace" |
| + imported_files = gypi_values.devtools_workspace_js_files |
| + } |
| - outputs = [ |
| - "$root_out_dir/resources/inspector/" + invoker.app_name + ".css" |
| - ] |
| + build_module("build_bindings_module") { |
| + module_name = "bindings" |
| + imported_files = gypi_values.devtools_bindings_js_files |
| + } |
| - args = [ rebase_path(input_stylesheet, root_build_dir) ] + |
| - rebase_path(outputs, root_build_dir) |
| + build_module("build_screencast_module") { |
| + module_name = "screencast" |
| + imported_files = gypi_values.devtools_screencast_js_files |
| } |
| -} |
| -concatenate_css("concatenated_devtools_css") { |
| - app_name = "devtools" |
| -} |
| + build_module("build_toolbox_module") { |
| + module_name = "toolbox" |
| + imported_files = gypi_values.devtools_toolbox_js_files |
| + } |
| -concatenate_css("concatenated_toolbox_css") { |
| - app_name = "toolbox" |
| + build_module("build_toolbox_bootstrap_module") { |
| + module_name = "toolbox_bootstrap" |
| + imported_files = gypi_values.devtools_toolbox_bootstrap_js_files |
| + } |
| + |
| + build_module("build_main_module") { |
| + module_name = "main" |
| + imported_files = gypi_values.devtools_main_js_files |
| + } |
| +} else { |
| + template("concatenate_css") { |
| + assert(defined(invoker.app_name), target_name) |
| + app_name = invoker.app_name |
| + |
| + action(target_name) { |
| + script = "scripts/concatenate_css_files.py" |
| + |
| + input_stylesheet = "front_end/" + app_name + ".css" |
| + inputs = [ input_stylesheet ] + devtools_core_base_files |
| + |
| + outputs = [ resources_out_dir + app_name + ".css" ] |
| + |
| + args = [ rebase_path(input_stylesheet, root_build_dir) ] + |
| + rebase_path(outputs, root_build_dir) |
| + } |
| + } |
| + |
| + foreach(app, app_names) { |
| + concatenate_css("concatenated_" + app + "_css") { |
| + app_name = app |
| + } |
| + } |
| + |
| + action("concatenated_module_descriptors") { |
| + script = "scripts/concatenate_module_descriptors.py" |
| + |
| + input = "front_end/Runtime.js" |
| + inputs = [ input ] + gypi_values.devtools_module_json_files |
| + outputs = [ resources_out_dir + "Runtime.js" ] |
| + |
| + args = rebase_path([ input ] + outputs + |
| + gypi_values.devtools_module_json_files, root_build_dir) |
| + } |
| } |