e90e9086e2
Review URL: https://codereview.chromium.org//11411176 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15368 260f80e4-7a28-3924-810f-c04153c831b5
44 lines
1.6 KiB
Python
44 lines
1.6 KiB
Python
#!/usr/bin/env python
|
|
# Copyright (c) 2012, 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 optparse
|
|
import shutil
|
|
import sys
|
|
|
|
def parse_options(argv):
|
|
parser = optparse.OptionParser(usage="Usage: %prog [options] files")
|
|
parser.add_option("--output",
|
|
dest="output",
|
|
help="Write output to FILE.",
|
|
metavar="FILE")
|
|
(options, arguments) = parser.parse_args(argv[1:])
|
|
if not arguments:
|
|
parser.error("At least one input file must be provided.")
|
|
if not options.output:
|
|
parser.error("No --output provided.")
|
|
return (options, arguments)
|
|
|
|
|
|
def main():
|
|
# Print the command that is being run. This is helpful when
|
|
# debugging build errors.
|
|
sys.stderr.write('%s\n' % ' '.join(sys.argv))
|
|
(options, arguments) = parse_options(sys.argv)
|
|
tmp_name = '%s.tmp' % options.output
|
|
with open(tmp_name, 'w') as output:
|
|
for source in arguments:
|
|
with open(source, 'r') as inpt:
|
|
for line in inpt:
|
|
# Drop unneeded library tags as all the library's files
|
|
# are concatenated into one big file here:
|
|
# The 'part' and 'part of' library tags are removed.
|
|
if line.startswith('#source') or line.startswith('part '):
|
|
line = '// %s' % line
|
|
output.write(line)
|
|
shutil.move(tmp_name, options.output)
|
|
|
|
if __name__ == '__main__':
|
|
main()
|