| 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__':
|
|
|