Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(77)

Unified Diff: chrome/browser/resources/chromeos/chromevox/tools/generate_manifest.py

Issue 1145243006: Port chromevox build to GN. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@externs
Patch Set: Workaround hardlink related spuroius rebuild issue by using a stamp file (not ideal). Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/resources/chromeos/chromevox/tools/generate_manifest.py
diff --git a/chrome/browser/resources/chromeos/chromevox/tools/generate_manifest.py b/chrome/browser/resources/chromeos/chromevox/tools/generate_manifest.py
index 69c6bc18b135a84dd5fe3ef0a0a85d093cc6f035..c3a2a4c070d6ce75ecae5f95e59e43b8e3354569 100755
--- a/chrome/browser/resources/chromeos/chromevox/tools/generate_manifest.py
+++ b/chrome/browser/resources/chromeos/chromevox/tools/generate_manifest.py
@@ -11,17 +11,25 @@ import os
import sys
jinja2_path = os.path.normpath(os.path.join(os.path.abspath(__file__),
- *[os.path.pardir] * 7 + ['third_party']))
+ *[os.path.pardir] * 7 + ['third_party']))
nom_path = os.path.normpath(os.path.join(os.path.abspath(__file__),
*[os.path.pardir] * 7 + ['tools/json_comment_eater']))
+version_py_path = os.path.normpath(os.path.join(os.path.abspath(__file__),
+ *[os.path.pardir] * 7 + ['build/util']))
sys.path.insert(0, jinja2_path)
sys.path.insert(0, nom_path)
+sys.path.insert(0, version_py_path)
import jinja2
from json_comment_eater import Nom
+import version
'''Generate an extension manifest based on a template.'''
+def getChromeVersion(version_file):
+ values = version.fetch_values([version_file])
+ return version.subst_template('@MAJOR@.@MINOR@.@BUILD@.@PATCH@', values)
+
def processJinjaTemplate(input_file, output_file, context):
(template_path, template_name) = os.path.split(input_file)
@@ -57,6 +65,9 @@ def main():
parser.add_option(
'--key', action='store', metavar='KEY',
help='Set the extension key')
+ parser.add_option(
+ '--version_file', action='store', metavar='NAME',
+ help='File with version information')
options, args = parser.parse_args()
if len(args) != 1:
@@ -65,11 +76,16 @@ def main():
if options.output_manifest is None:
print >>sys.stderr, '--output_manifest option must be specified'
sys.exit(1)
- if options.set_version is None:
- print >>sys.stderr, '--set_version option must be specified'
+ if options.set_version is not None and options.version_file is not None:
+ print >>sys.stderr, ('only one of --set_version and --version_file may ' +
+ 'be specified')
+ if options.set_version is None and options.version_file is None:
+ print >>sys.stderr, ('one of --set_version or --version_file option ' +
+ 'must be specified')
sys.exit(1)
-
context = {k: v for k, v in parser.values.__dict__.items() if v is not None}
+ if options.version_file is not None:
+ context['set_version'] = getChromeVersion(options.version_file)
processJinjaTemplate(args[0], options.output_manifest, context)
if __name__ == '__main__':

Powered by Google App Engine
This is Rietveld 408576698