aboutsummaryrefslogtreecommitdiff
path: root/mesonrewriter.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2017-07-15 08:40:36 -0400
committerJussi Pakkanen <jpakkane@gmail.com>2017-08-02 22:00:09 +0300
commit0dd9ace5ccbae7c48f2675dfe387e6b7e778f664 (patch)
tree96058ce560c2675389a066c0b3d44343c3448c3f /mesonrewriter.py
parentc2e40650e8b0b74e1800e563c5a3774501bc6477 (diff)
downloadmeson-0dd9ace5ccbae7c48f2675dfe387e6b7e778f664.zip
meson-0dd9ace5ccbae7c48f2675dfe387e6b7e778f664.tar.gz
meson-0dd9ace5ccbae7c48f2675dfe387e6b7e778f664.tar.bz2
Turned rewriter into an internal module.
Diffstat (limited to 'mesonrewriter.py')
-rwxr-xr-xmesonrewriter.py41
1 files changed, 4 insertions, 37 deletions
diff --git a/mesonrewriter.py b/mesonrewriter.py
index fb85745..7c8fdb1 100755
--- a/mesonrewriter.py
+++ b/mesonrewriter.py
@@ -23,42 +23,9 @@
# - move targets
# - reindent?
-import mesonbuild.astinterpreter
-from mesonbuild.mesonlib import MesonException
-from mesonbuild import mlog
-import sys, traceback
-import argparse
-
-parser = argparse.ArgumentParser()
-
-parser.add_argument('--sourcedir', default='.',
- help='Path to source directory.')
-parser.add_argument('--target', default=None,
- help='Name of target to edit.')
-parser.add_argument('--filename', default=None,
- help='Name of source file to add or remove to target.')
-parser.add_argument('commands', nargs='+')
+from mesonbuild import rewriter
+import sys
if __name__ == '__main__':
- options = parser.parse_args()
- if options.target is None or options.filename is None:
- sys.exit("Must specify both target and filename.")
- print('This tool is highly experimental, use with care.')
- rewriter = mesonbuild.astinterpreter.AstInterpreter(options.sourcedir, '')
- try:
- if options.commands[0] == 'add':
- rewriter.add_source(options.target, options.filename)
- elif options.commands[0] == 'remove':
- rewriter.remove_source(options.target, options.filename)
- else:
- sys.exit('Unknown command: ' + options.commands[0])
- except Exception as e:
- if isinstance(e, MesonException):
- if hasattr(e, 'file') and hasattr(e, 'lineno') and hasattr(e, 'colno'):
- mlog.log(mlog.red('\nMeson encountered an error in file %s, line %d, column %d:' % (e.file, e.lineno, e.colno)))
- else:
- mlog.log(mlog.red('\nMeson encountered an error:'))
- mlog.log(e)
- else:
- traceback.print_exc()
- sys.exit(1)
+ sys.exit(rewriter.run(sys.argv[1:]))
+