Commit b3347fc6 authored by Pavel Feldman's avatar Pavel Feldman Committed by Commit Bot

DevTools: generate browser_protocol.json at a build time.

Change-Id: I295442cc7b3f5168fc69d26bdba17450ff0cc105
Reviewed-on: https://chromium-review.googlesource.com/801987Reviewed-by: default avatarAleksey Kozyatinskiy <kozyatinskiy@chromium.org>
Commit-Queue: Pavel Feldman <pfeldman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#520964}
parent 53742f61
...@@ -129,7 +129,7 @@ inspector_protocol_generate("protocol_sources") { ...@@ -129,7 +129,7 @@ inspector_protocol_generate("protocol_sources") {
config_values = [ "imported.path=$_imported" ] config_values = [ "imported.path=$_imported" ]
inputs = [ inputs = [
"browser_protocol.json", "$blink_core_output_dir/inspector/browser_protocol.json",
v8_inspector_js_protocol, v8_inspector_js_protocol,
"inspector_protocol_config.json", "inspector_protocol_config.json",
] ]
...@@ -194,6 +194,7 @@ inspector_protocol_generate("protocol_sources") { ...@@ -194,6 +194,7 @@ inspector_protocol_generate("protocol_sources") {
] ]
deps = [ deps = [
":protocol_convert_to_json",
":protocol_version", ":protocol_version",
] ]
} }
...@@ -224,11 +225,30 @@ jumbo_source_set("generated") { ...@@ -224,11 +225,30 @@ jumbo_source_set("generated") {
] ]
} }
action("protocol_convert_to_json") {
script = "ConvertProtocolToJSON.py"
inputs = [
"ConvertProtocolToJSON.py",
"browser_protocol.pdl",
]
output_file = "$blink_core_output_dir/inspector/browser_protocol.json"
outputs = [
output_file,
]
args = [
rebase_path("browser_protocol.pdl", root_build_dir),
rebase_path(output_file, root_build_dir),
]
}
action("protocol_compatibility_check") { action("protocol_compatibility_check") {
script = _inspector_protocol_dir + "/CheckProtocolCompatibility.py" script = _inspector_protocol_dir + "/CheckProtocolCompatibility.py"
deps = [
":protocol_convert_to_json",
]
inputs = [ inputs = [
"browser_protocol.json", "$blink_core_output_dir/inspector/browser_protocol.json",
"browser_protocol-1.3.json", "browser_protocol-1.3.json",
v8_inspector_js_protocol, v8_inspector_js_protocol,
] ]
...@@ -240,7 +260,8 @@ action("protocol_compatibility_check") { ...@@ -240,7 +260,8 @@ action("protocol_compatibility_check") {
args = [ args = [
"--stamp", "--stamp",
rebase_path(_stamp, root_build_dir), rebase_path(_stamp, root_build_dir),
rebase_path("browser_protocol.json", root_build_dir), rebase_path("$blink_core_output_dir/inspector/browser_protocol.json",
root_build_dir),
rebase_path(v8_inspector_js_protocol, root_build_dir), rebase_path(v8_inspector_js_protocol, root_build_dir),
] ]
} }
...@@ -248,11 +269,12 @@ action("protocol_compatibility_check") { ...@@ -248,11 +269,12 @@ action("protocol_compatibility_check") {
action("protocol_version") { action("protocol_version") {
deps = [ deps = [
":protocol_compatibility_check", ":protocol_compatibility_check",
":protocol_convert_to_json",
] ]
script = _inspector_protocol_dir + "/ConcatenateProtocols.py" script = _inspector_protocol_dir + "/ConcatenateProtocols.py"
inputs = [ inputs = [
"browser_protocol.json", "$blink_core_output_dir/inspector/browser_protocol.json",
v8_inspector_js_protocol, v8_inspector_js_protocol,
] ]
output_file = "$blink_core_output_dir/inspector/protocol.json" output_file = "$blink_core_output_dir/inspector/protocol.json"
...@@ -261,7 +283,8 @@ action("protocol_version") { ...@@ -261,7 +283,8 @@ action("protocol_version") {
] ]
args = [ args = [
rebase_path("browser_protocol.json", root_build_dir), rebase_path("$blink_core_output_dir/inspector/browser_protocol.json",
root_build_dir),
rebase_path(v8_inspector_js_protocol, root_build_dir), rebase_path(v8_inspector_js_protocol, root_build_dir),
rebase_path(output_file, root_build_dir), rebase_path(output_file, root_build_dir),
] ]
......
...@@ -161,18 +161,20 @@ def parse(data): ...@@ -161,18 +161,20 @@ def parse(data):
def main(argv): def main(argv):
if len(argv) < 2: if len(argv) < 2:
sys.stderr.write("Usage: %s stamp <protocol.pdl>\n" % sys.argv[0]) sys.stderr.write("Usage: %s <protocol.pdl> <protocol.json>\n" % sys.argv[0])
return 1 return 1
global file_name global file_name
file_name = os.path.normpath(argv[1]) file_name = os.path.normpath(argv[0])
input_file = open(file_name, "r") input_file = open(file_name, "r")
pdl_string = input_file.read() pdl_string = input_file.read()
protocol = parse(pdl_string) protocol = parse(pdl_string)
output_file = open(argv[1].replace('.pdl', '.json'), "w") output_file = open(argv[0].replace('.pdl', '.json'), "w")
json.dump(protocol, output_file, indent=4, separators=(',', ': '))
output_file.close()
output_file = open(os.path.normpath(argv[1]), "w")
json.dump(protocol, output_file, indent=4, separators=(',', ': ')) json.dump(protocol, output_file, indent=4, separators=(',', ': '))
output_file.close() output_file.close()
with open(os.path.normpath(argv[0]), 'a') as _:
pass
if __name__ == '__main__': if __name__ == '__main__':
......
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