Commit 97a4f275 authored by apavlov@chromium.org's avatar apavlov@chromium.org

DevTools: Fix Windows debug_devtools=1 builds

This patch eliminates the "Command line too long" errors
when building on Windows in the debug_devtools=1 mode.

Drive-by: Fix GN build after r183969

R=pfeldman, vsevik

Review URL: https://codereview.chromium.org/665083002

git-svn-id: svn://svn.chromium.org/blink/trunk@184003 bbb929c8-8fbe-4397-9dbb-9b2b20218538
parent ffedad06
......@@ -109,16 +109,19 @@ action("generate_devtools_grd") {
script = "scripts/generate_devtools_grd.py"
deps = [ ":devtools_frontend_resources" ]
static_files_list = "$target_gen_dir/devtools_static_grd_files.tmp"
inputs = [ static_files_list ]
if (debug_devtools) {
# Debug: all files are picked as-is.
input_pages = all_devtools_files + generated_scripts + [
generated_files = generated_scripts + [
resources_out_dir + "devtools.html",
resources_out_dir + "toolbox.html",
]
static_files = all_devtools_files + [ "front_end/Runtime.js" ]
} else {
# Release: pick compiled files and lazy-loaded CSS.
input_pages = [
generated_files = [
resources_out_dir + "devtools.css",
resources_out_dir + "devtools.html",
resources_out_dir + "devtools.js",
......@@ -130,7 +133,6 @@ action("generate_devtools_grd") {
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",
......@@ -145,14 +147,15 @@ action("generate_devtools_grd") {
resources_out_dir + "timeline_module.js",
resources_out_dir + "devtools_extension_api.js",
]
input_pages += gypi_values.devtools_standalone_files +
static_files = gypi_values.devtools_standalone_files +
gypi_values.devtools_cm_css_files
}
write_file(static_files_list, rebase_path(static_files, root_build_dir))
images = gypi_values.devtools_image_files
images_path = "front_end/Images"
inputs = input_pages + images
inputs += generated_files + images
outfile = "$root_gen_dir/devtools/devtools_resources.grd"
outputs = [ outfile ]
......@@ -162,7 +165,9 @@ action("generate_devtools_grd") {
"front_end",
]
args = rebase_path(input_pages, root_build_dir) + [
args = rebase_path(generated_files, root_build_dir) +
rebase_path(generated_files, root_build_dir) + [
"--static_files_list", rebase_path(static_files_list, root_build_dir),
"--relative_path_dirs" ] +
rebase_path(relative_path_dirs, root_build_dir) + [
"--images", rebase_path(images_path, root_build_dir),
......@@ -230,7 +235,6 @@ action("build_applications") {
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",
......
......@@ -89,7 +89,12 @@
'<(PRODUCT_DIR)/resources/inspector',
'front_end'
],
'input_pages': [
'static_files': [
'<@(devtools_standalone_files)',
'<@(devtools_cm_css_files)',
],
'devtools_static_files_list': '<|(devtools_static_grd_files.tmp <@(_static_files))',
'generated_files': [
'<(PRODUCT_DIR)/resources/inspector/devtools.css',
'<(PRODUCT_DIR)/resources/inspector/devtools.html',
'<(PRODUCT_DIR)/resources/inspector/devtools.js',
......@@ -114,22 +119,19 @@
'<(PRODUCT_DIR)/resources/inspector/temp_storage_shared_worker_module.js',
'<(PRODUCT_DIR)/resources/inspector/timeline_module.js',
'<(PRODUCT_DIR)/resources/inspector/devtools_extension_api.js',
'<@(devtools_standalone_files)',
'<@(devtools_cm_css_files)',
],
'images': [
'<@(devtools_image_files)',
],
'inputs': [
'<@(_script_name)',
'<@(_input_pages)',
'<@(_images)',
'<@(_static_files)',
'<@(_generated_files)',
'<@(devtools_image_files)',
'<(_devtools_static_files_list)',
],
'images_path': [
'front_end/Images',
],
'outputs': ['<(SHARED_INTERMEDIATE_DIR)/devtools/devtools_resources.grd'],
'action': ['python', '<@(_script_name)', '<@(_input_pages)', '--relative_path_dirs', '<@(_relative_path_dirs)', '--images', '<@(_images_path)', '--output', '<@(_outputs)'],
'action': ['python', '<@(_script_name)', '<@(_generated_files)', '--static_files_list', '<(_devtools_static_files_list)', '--relative_path_dirs', '<@(_relative_path_dirs)', '--images', '<@(_images_path)', '--output', '<@(_outputs)'],
}],
},
{
......@@ -144,28 +146,30 @@
'front_end',
'<(PRODUCT_DIR)/resources/inspector',
],
'input_pages': [
'static_files': [
'<@(all_devtools_files)',
'front_end/Runtime.js',
],
'devtools_static_files_list': '<|(devtools_static_grd_files.tmp <@(_static_files))',
'generated_files': [
'<(PRODUCT_DIR)/resources/inspector/InspectorBackendCommands.js',
'<(PRODUCT_DIR)/resources/inspector/SupportedCSSProperties.js',
'<(PRODUCT_DIR)/resources/inspector/devtools.html',
'<(PRODUCT_DIR)/resources/inspector/toolbox.html',
],
'images': [
'<@(devtools_image_files)',
],
'inputs': [
'<@(_script_name)',
'<@(_input_pages)',
'<@(_images)',
'<@(_static_files)',
'<@(_generated_files)',
'<@(devtools_image_files)',
'<(_devtools_static_files_list)',
],
'images_path': [
'front_end/Images',
],
# Note that other files are put under /devtools directory, together with declared devtools_resources.grd
'outputs': ['<(SHARED_INTERMEDIATE_DIR)/devtools/devtools_resources.grd'],
'action': ['python', '<@(_script_name)', '<@(_input_pages)', '--relative_path_dirs', '<@(_relative_path_dirs)', '--images', '<@(_images_path)', '--output', '<@(_outputs)'],
'action': ['python', '<@(_script_name)', '<@(_generated_files)', '--static_files_list', '<(_devtools_static_files_list)', '--relative_path_dirs', '<@(_relative_path_dirs)', '--images', '<@(_images_path)', '--output', '<@(_outputs)'],
}],
}],
],
......
......@@ -31,6 +31,7 @@
"""Creates a grd file for packaging the inspector files."""
from __future__ import with_statement
from os import path
import errno
import os
......@@ -66,10 +67,14 @@ class ParsedArgs:
def parse_args(argv):
static_files_list_position = argv.index('--static_files_list')
relative_path_dirs_position = argv.index('--relative_path_dirs')
images_position = argv.index('--images')
output_position = argv.index('--output')
source_files = argv[:relative_path_dirs_position]
static_files_list_path = argv[static_files_list_position + 1]
source_files = argv[:static_files_list_position]
with open(static_files_list_path, 'r') as static_list_file:
source_files.extend([line.rstrip('\n') for line in static_list_file.readlines()])
relative_path_dirs = argv[relative_path_dirs_position + 1:images_position]
image_dirs = argv[images_position + 1:output_position]
return ParsedArgs(source_files, relative_path_dirs, image_dirs, argv[output_position + 1])
......@@ -98,17 +103,17 @@ def build_relative_filename(relative_path_dirs, filename):
index = filename.find(relative_path_dir)
if index == 0:
return filename[len(relative_path_dir) + 1:]
return os.path.basename(filename)
return path.basename(filename)
def main(argv):
parsed_args = parse_args(argv[1:])
doc = minidom.parseString(kGrdTemplate)
output_directory = os.path.dirname(parsed_args.output_filename)
output_directory = path.dirname(parsed_args.output_filename)
try:
os.makedirs(os.path.join(output_directory, 'Images'))
os.makedirs(path.join(output_directory, 'Images'))
except OSError, e:
if e.errno != errno.EEXIST:
raise e
......@@ -120,8 +125,8 @@ def main(argv):
if relative_filename in written_filenames:
continue
written_filenames.add(relative_filename)
target_dir = os.path.join(output_directory, os.path.dirname(relative_filename))
if not os.path.exists(target_dir):
target_dir = path.join(output_directory, path.dirname(relative_filename))
if not path.exists(target_dir):
os.makedirs(target_dir)
shutil.copy(filename, target_dir)
add_file_to_grd(doc, relative_filename)
......@@ -130,9 +135,9 @@ def main(argv):
for filename in os.listdir(dirname):
if not filename.endswith('.png') and not filename.endswith('.gif'):
continue
shutil.copy(os.path.join(dirname, filename),
os.path.join(output_directory, 'Images'))
add_file_to_grd(doc, os.path.join('Images', filename))
shutil.copy(path.join(dirname, filename),
path.join(output_directory, 'Images'))
add_file_to_grd(doc, path.join('Images', filename))
with open(parsed_args.output_filename, 'w') as output_file:
output_file.write(doc.toxml(encoding='UTF-8'))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment