| #!/usr/bin/env python | 
 | # Copyright (c) 2017, 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. | 
 |  | 
 | import argparse | 
 | import os | 
 | import sys | 
 | import utils | 
 |  | 
 |  | 
 | def ParseArgs(args): | 
 |     args = args[1:] | 
 |     parser = argparse.ArgumentParser( | 
 |         description='A script to write the version string to a file') | 
 |  | 
 |     parser.add_argument( | 
 |         '--output', '-o', type=str, required=True, help='File to write') | 
 |  | 
 |     return parser.parse_args(args) | 
 |  | 
 |  | 
 | def Main(argv): | 
 |     args = ParseArgs(argv) | 
 |     revision = utils.GetGitRevision() | 
 |     if revision is not None: | 
 |         with open(args.output, 'w') as f: | 
 |             f.write('%s\n' % revision) | 
 |     return 0 | 
 |  | 
 |  | 
 | if __name__ == '__main__': | 
 |     sys.exit(Main(sys.argv)) |