#!/usr/bin/env python
# Copyright (c) 2011 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.
"""
appid.py -- Chromium appid header file generation utility.
"""
import optparse
import sys
GENERATED_APPID_INCLUDE_FILE_CONTENTS = """
// This file is automatically generated by appid.py.
// It contains the Google Update Appid used for this build. Note that
// the Appid will be empty for non Google Chrome builds.
namespace google_update {
const wchar_t kChromeGuid[] = L"%s";
}
"""
def GenerateAppIdHeader(opts):
contents = GENERATED_APPID_INCLUDE_FILE_CONTENTS % opts.appid
try:
ofp = open(opts.output_file, 'r')
except EnvironmentError:
current_contents = None
else:
current_contents = ofp.read()
if contents != current_contents:
open(opts.output_file, 'w').write(contents)
def main():
parser = optparse.OptionParser()
parser.add_option('-a', '--appid',
help='The Google Update App Id of the Chrome being built.')
parser.add_option('-o', '--output_file',
help='The path to the generated output header file')
(opts, args) = parser.parse_args()
if opts.appid is None or not opts.output_file:
parser.print_help()
return 1
# Log a trace in the build output when we run.
print "Generating appid header... ",
GenerateAppIdHeader(opts)
print "Done."
if __name__ == '__main__':
sys.exit(main())