diff options
author | eustas@chromium.org <eustas@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-23 18:50:24 +0000 |
---|---|---|
committer | eustas@chromium.org <eustas@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-23 18:50:24 +0000 |
commit | 94d6253bf619d4dc29a09f843d747921aaf90127 (patch) | |
tree | 891704a15fffb9293ae27e8a3b7316e04edd01b7 | |
parent | a78f5aaee502b6f0622a5a2b61b5cfadce9d05f0 (diff) | |
download | chromium_src-94d6253bf619d4dc29a09f843d747921aaf90127.zip chromium_src-94d6253bf619d4dc29a09f843d747921aaf90127.tar.gz chromium_src-94d6253bf619d4dc29a09f843d747921aaf90127.tar.bz2 |
Add devtools protocol constants generator to chrome/
BUG=373325
Review URL: https://codereview.chromium.org/297803003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@272570 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/browser/devtools/devtools_protocol_constants.gyp | 39 | ||||
-rw-r--r-- | chrome/chrome_debugger.gypi | 4 | ||||
-rw-r--r-- | content/browser/devtools/devtools_resources.gyp | 17 | ||||
-rwxr-xr-x | content/public/browser/devtools_protocol_constants_generator.py (renamed from content/browser/devtools/devtools_protocol_constants_generator.py) | 58 |
4 files changed, 88 insertions, 30 deletions
diff --git a/chrome/browser/devtools/devtools_protocol_constants.gyp b/chrome/browser/devtools/devtools_protocol_constants.gyp new file mode 100644 index 0000000..09400b6 --- /dev/null +++ b/chrome/browser/devtools/devtools_protocol_constants.gyp @@ -0,0 +1,39 @@ +# Copyright 2014 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. + +{ + 'targets': [ + { + 'target_name': 'devtools_protocol_constants', + 'type': 'none', + 'actions': [ + { + 'action_name': 'devtools_protocol_constants', + 'variables': { + 'blink_protocol': '../../../third_party/WebKit/Source/devtools/protocol.json', + 'generator': '../../../content/public/browser/devtools_protocol_constants_generator.py', + 'package': 'chrome' + }, + 'inputs': [ + '<(blink_protocol)', + '<(generator)', + ], + 'outputs': [ + '<(SHARED_INTERMEDIATE_DIR)/<(package)/browser/devtools/devtools_protocol_constants.cc', + '<(SHARED_INTERMEDIATE_DIR)/<(package)/browser/devtools/devtools_protocol_constants.h' + ], + 'action':[ + 'python', + '<(generator)', + '<(package)', + '<(SHARED_INTERMEDIATE_DIR)/<(package)/browser/devtools/devtools_protocol_constants.cc', + '<(SHARED_INTERMEDIATE_DIR)/<(package)/browser/devtools/devtools_protocol_constants.h', + '<(blink_protocol)', + ], + 'message': 'Generating DevTools protocol constants from <(blink_protocol)' + } + ], + }, + ], +} diff --git a/chrome/chrome_debugger.gypi b/chrome/chrome_debugger.gypi index 76942a3..4ee09d9 100644 --- a/chrome/chrome_debugger.gypi +++ b/chrome/chrome_debugger.gypi @@ -18,6 +18,7 @@ '../third_party/icu/icu.gyp:icuuc', '../third_party/leveldatabase/leveldatabase.gyp:leveldatabase', '../third_party/libusb/libusb.gyp:libusb', + 'browser/devtools/devtools_protocol_constants.gyp:devtools_protocol_constants', 'chrome_resources.gyp:chrome_extra_resources', 'chrome_resources.gyp:chrome_resources', 'chrome_resources.gyp:chrome_strings', @@ -77,6 +78,9 @@ 'browser/devtools/devtools_window.h', 'browser/devtools/remote_debugging_server.cc', 'browser/devtools/remote_debugging_server.h', + # These files are generated by devtools_protocol_constants_generator.py. + '<(SHARED_INTERMEDIATE_DIR)/chrome/browser/devtools/devtools_protocol_constants.cc', + '<(SHARED_INTERMEDIATE_DIR)/chrome/browser/devtools/devtools_protocol_constants.h', ], 'conditions': [ ['OS=="android"', { diff --git a/content/browser/devtools/devtools_resources.gyp b/content/browser/devtools/devtools_resources.gyp index c4c3a9d..72ae706 100644 --- a/content/browser/devtools/devtools_resources.gyp +++ b/content/browser/devtools/devtools_resources.gyp @@ -47,24 +47,27 @@ 'action_name': 'devtools_protocol_constants', 'variables': { 'blink_protocol': '../../../third_party/WebKit/Source/devtools/protocol.json', - 'browser_protocol': 'browser_protocol.json' + 'browser_protocol': 'browser_protocol.json', + 'generator': '../../public/browser/devtools_protocol_constants_generator.py', + 'package': 'content' }, 'inputs': [ '<(blink_protocol)', '<(browser_protocol)', - 'devtools_protocol_constants_generator.py', + '<(generator)', ], 'outputs': [ - '<(SHARED_INTERMEDIATE_DIR)/content/browser/devtools/devtools_protocol_constants.cc', - '<(SHARED_INTERMEDIATE_DIR)/content/browser/devtools/devtools_protocol_constants.h' + '<(SHARED_INTERMEDIATE_DIR)/<(package)/browser/devtools/devtools_protocol_constants.cc', + '<(SHARED_INTERMEDIATE_DIR)/<(package)/browser/devtools/devtools_protocol_constants.h' ], 'action':[ 'python', - 'devtools_protocol_constants_generator.py', + '<(generator)', + '<(package)', + '<(SHARED_INTERMEDIATE_DIR)/<(package)/browser/devtools/devtools_protocol_constants.cc', + '<(SHARED_INTERMEDIATE_DIR)/<(package)/browser/devtools/devtools_protocol_constants.h', '<(blink_protocol)', '<(browser_protocol)', - '<(SHARED_INTERMEDIATE_DIR)/content/browser/devtools/devtools_protocol_constants.cc', - '<(SHARED_INTERMEDIATE_DIR)/content/browser/devtools/devtools_protocol_constants.h', ], 'message': 'Generating DevTools protocol constants from <(blink_protocol)' } diff --git a/content/browser/devtools/devtools_protocol_constants_generator.py b/content/public/browser/devtools_protocol_constants_generator.py index 7339208..3447fb1 100755 --- a/content/browser/devtools/devtools_protocol_constants_generator.py +++ b/content/public/browser/devtools_protocol_constants_generator.py @@ -1,5 +1,5 @@ #!/usr/bin/python -# Copyright 2013 The Chromium Authors. All rights reserved. +# Copyright 2014 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. @@ -7,23 +7,29 @@ import sys import string import json +package = sys.argv[1] +output_cc_path = sys.argv[2] +output_h_path = sys.argv[3] +blink_protocol_path = sys.argv[4] +browser_protocol_path = sys.argv[5] if len(sys.argv) > 5 else None + template_h = string.Template("""\ // Copyright 2013 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. -#ifndef CONTENT_BROWSER_DEVTOOLS_DEVTOOLS_PROTOCOL_CONSTANTS_H_ -#define CONTENT_BROWSER_DEVTOOLS_DEVTOOLS_PROTOCOL_CONSTANTS_H_ +#ifndef ${PACKAGE}_BROWSER_DEVTOOLS_DEVTOOLS_PROTOCOL_CONSTANTS_H_ +#define ${PACKAGE}_BROWSER_DEVTOOLS_DEVTOOLS_PROTOCOL_CONSTANTS_H_ // THIS FILE IS AUTOGENERATED. DO NOT EDIT. // Generated by -// content/browser/devtools/devtools_protocol_constants_generator.py from +// content/public/browser/devtools_protocol_constants_generator.py from // third_party/WebKit/Source/devtools/protocol.json and -// content/browser/devtools/browser_protocol.json). +// content/browser/devtools/browser_protocol.json #include <string> -namespace content { +namespace $package { namespace devtools { extern const char kProtocolVersion[]; @@ -34,9 +40,9 @@ extern const char kResult[]; $contents } // devtools -} // content +} // $package -#endif // CONTENT_BROWSER_DEVTOOLS_DEVTOOLS_PROTOCOL_CONSTANTS_H_ +#endif // ${PACKAGE}_BROWSER_DEVTOOLS_DEVTOOLS_PROTOCOL_CONSTANTS_H_ """) template_cc = string.Template("""\ @@ -46,15 +52,15 @@ template_cc = string.Template("""\ // THIS FILE IS AUTOGENERATED. DO NOT EDIT. // Generated by -// content/browser/devtools/devtools_protocol_constants_generator.py from +// content/public/browser/devtools_protocol_constants_generator.py from // third_party/WebKit/Source/devtools/protocol.json and -// content/browser/devtools/browser_protocol.json). +// content/browser/devtools/browser_protocol.json #include "base/strings/string_number_conversions.h" #include "base/strings/string_util.h" -#include "content/browser/devtools/devtools_protocol_constants.h" +#include "$package/browser/devtools/devtools_protocol_constants.h" -namespace content { +namespace $package { namespace devtools { const char kProtocolVersion[] = "$major.$minor"; @@ -72,7 +78,7 @@ const char kResult[] = "result"; $contents } // devtools -} // content +} // $package """) def Capitalize(s): @@ -130,25 +136,31 @@ def FormatNamespace(title, tree, indent, format_string): def CreateHeader(tree, output_file): contents = FormatContents(tree, "", "extern const char {0}[];\n") - output_file.write(template_h.substitute({"contents": contents})) + output_file.write(template_h.substitute({ + "contents": contents, + "package": package, + "PACKAGE": package.upper() + })) def CreateBody(tree, version, output_file): contents = FormatContents(tree, "", "const char {0}[] = \"{1}\";\n") output_file.write(template_cc.substitute({ "major": version["major"], "minor": version["minor"], - "contents": contents + "contents": contents, + "package": package })) -blink_protocol_data = open(sys.argv[1]).read() -browser_protocol_data = open(sys.argv[2]).read() - +blink_protocol_data = open(blink_protocol_path).read() blink_protocol = json.loads(blink_protocol_data) -browser_protocol = json.loads(browser_protocol_data) - blink_version = blink_protocol["version"] -domains = blink_protocol["domains"] + browser_protocol["domains"] +domains = blink_protocol["domains"] + +if browser_protocol_path: + browser_protocol_data = open(browser_protocol_path).read() + browser_protocol = json.loads(browser_protocol_data) + domains = domains + browser_protocol["domains"] namespace_tree = {} @@ -192,8 +204,8 @@ while (references): for (namespace_name, namespace) in namespace_tree.items(): namespace["kName"] = namespace_name -with open(sys.argv[3], "w") as f: +with open(output_cc_path, "w") as f: CreateBody(namespace_tree, blink_version, f) -with open(sys.argv[4], "w") as f: +with open(output_h_path, "w") as f: CreateHeader(namespace_tree, f) |