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") {
config_values = [ "imported.path=$_imported" ]
inputs = [
"browser_protocol.json",
"$blink_core_output_dir/inspector/browser_protocol.json",
v8_inspector_js_protocol,
"inspector_protocol_config.json",
]
......@@ -194,6 +194,7 @@ inspector_protocol_generate("protocol_sources") {
]
deps = [
":protocol_convert_to_json",
":protocol_version",
]
}
......@@ -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") {
script = _inspector_protocol_dir + "/CheckProtocolCompatibility.py"
deps = [
":protocol_convert_to_json",
]
inputs = [
"browser_protocol.json",
"$blink_core_output_dir/inspector/browser_protocol.json",
"browser_protocol-1.3.json",
v8_inspector_js_protocol,
]
......@@ -240,7 +260,8 @@ action("protocol_compatibility_check") {
args = [
"--stamp",
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),
]
}
......@@ -248,11 +269,12 @@ action("protocol_compatibility_check") {
action("protocol_version") {
deps = [
":protocol_compatibility_check",
":protocol_convert_to_json",
]
script = _inspector_protocol_dir + "/ConcatenateProtocols.py"
inputs = [
"browser_protocol.json",
"$blink_core_output_dir/inspector/browser_protocol.json",
v8_inspector_js_protocol,
]
output_file = "$blink_core_output_dir/inspector/protocol.json"
......@@ -261,7 +283,8 @@ action("protocol_version") {
]
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(output_file, root_build_dir),
]
......
......@@ -161,18 +161,20 @@ def parse(data):
def main(argv):
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
global file_name
file_name = os.path.normpath(argv[1])
file_name = os.path.normpath(argv[0])
input_file = open(file_name, "r")
pdl_string = input_file.read()
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=(',', ': '))
output_file.close()
with open(os.path.normpath(argv[0]), 'a') as _:
pass
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