#!/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())