# Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file # for details. All rights reserved. Use of this source code is governed by a # BSD-style license that can be found in the LICENSE file. # # This python script creates a version string in a C++ file. import sys import time from optparse import OptionParser import utils def debugLog(message): print >> sys.stderr, message sys.stderr.flush() def makeVersionString(): version_string = utils.GetVersion() debugLog("Returning version string: %s " % version_string) return version_string def makeFile(output_file, input_file): version_cc_text = open(input_file).read() version_string = makeVersionString() version_cc_text = version_cc_text.replace("{{VERSION_STR}}", version_string) version_time = time.ctime(time.time()) version_cc_text = version_cc_text.replace("{{BUILD_TIME}}", version_time) open(output_file, 'w').write(version_cc_text) return True def main(args): try: # Parse input. parser = OptionParser() parser.add_option("--output", action="store", type="string", help="output file name") parser.add_option("--input", action="store", type="string", help="input template file") (options, args) = parser.parse_args() if not options.output: sys.stderr.write('--output not specified\n') return -1 if not len(options.input): sys.stderr.write('--input not specified\n') return -1 files = [ ] for arg in args: files.append(arg) if not makeFile(options.output, options.input): return -1 return 0 except Exception, inst: sys.stderr.write('make_version.py exception\n') sys.stderr.write(str(inst)) sys.stderr.write('\n') return -1 if __name__ == '__main__': exit_code = main(sys.argv) sys.exit(exit_code)