Mercurial > hg > truffle
changeset 5778:74c802348d1f
added --jdt-warning-as-error option to 'mx build'
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Fri, 06 Jul 2012 09:19:23 +0200 |
parents | 9e56d5113c66 |
children | 1458f656b060 |
files | mxtool/mx.py |
diffstat | 1 files changed, 15 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/mxtool/mx.py Thu Jul 05 22:10:12 2012 +0200 +++ b/mxtool/mx.py Fri Jul 06 09:19:23 2012 +0200 @@ -1155,6 +1155,7 @@ parser.add_argument('--no-java', action='store_false', dest='java', help='do not build Java projects') parser.add_argument('--no-native', action='store_false', dest='native', help='do not build native projects') parser.add_argument('--jdt', help='Eclipse installation or path to ecj.jar for using the Eclipse batch compiler (default: ' + defaultEcjPath + ')', default=defaultEcjPath, metavar='<path>') + parser.add_argument('--jdt-warning-as-error', action='store_true', help='convert all Eclipse batch compiler warnings to errors') if suppliedParser: parser.add_argument('remainder', nargs=REMAINDER, metavar='...') @@ -1285,6 +1286,7 @@ argfile.write('\n'.join(javafilelist)) argfile.close() + toBeDeleted = [argfileName] try: if jdtJar is None: log('Compiling Java sources for {0} with javac...'.format(p.name)) @@ -1305,11 +1307,22 @@ if not exists(jdtProperties): log('JDT properties file {0} not found'.format(jdtProperties)) else: - jdtArgs += ['-properties', jdtProperties] + # convert all warnings to errors + if args.jdt_warning_as_error: + jdtPropertiesTmp = jdtProperties + '.tmp' + with open(jdtProperties) as fp: + content = fp.read().replace('=warning', '=error') + with open(jdtPropertiesTmp, 'w') as fp: + fp.write(content) + toBeDeleted.append(jdtPropertiesTmp) + jdtArgs += ['-properties', jdtPropertiesTmp] + else: + jdtArgs += ['-properties', jdtProperties] jdtArgs.append('@' + argfile.name) run(jdtArgs) finally: - os.remove(argfileName) + for n in toBeDeleted: + os.remove(n) if suppliedParser: return args