# HG changeset patch # User Tom Rodriguez # Date 1392160070 28800 # Node ID f4dedec9b2258a9494dc36abd06d09751bd3b23c # Parent ebd2dfc2b780b6acbb7f3b98d2fbd68630aa66a5# Parent c4e5a685c6a12111f34ac0be6e7e62b0c1823f79 Merge diff -r ebd2dfc2b780 -r f4dedec9b225 mx/mx_graal.py --- a/mx/mx_graal.py Tue Feb 11 14:26:48 2014 -0800 +++ b/mx/mx_graal.py Tue Feb 11 15:07:50 2014 -0800 @@ -1071,21 +1071,23 @@ mx.pylint([]) tasks.append(t.stop()) - t = Task('Clean') - cleanArgs = [] - if not args.cleanNative: - cleanArgs.append('--no-native') - if not args.cleanJava: - cleanArgs.append('--no-java') - clean(cleanArgs) - tasks.append(t.stop()) + def _clean(name='Clean'): + t = Task(name) + cleanArgs = [] + if not args.cleanNative: + cleanArgs.append('--no-native') + if not args.cleanJava: + cleanArgs.append('--no-java') + clean(cleanArgs) + tasks.append(t.stop()) + _clean() t = Task('IDEConfigCheck') mx.ideclean([]) mx.ideinit([]) tasks.append(t.stop()) - eclipse_exe = os.environ.get('ECLIPSE_EXE') + eclipse_exe = mx.get_env('ECLIPSE_EXE') if eclipse_exe is not None: t = Task('CodeFormatCheck') if mx.eclipseformat(['-e', eclipse_exe]) != 0: @@ -1098,8 +1100,15 @@ t.abort('Rerun "mx canonicalizeprojects" and check-in the modified mx/projects files.') tasks.append(t.stop()) - t = Task('BuildJava') - build(['--no-native', '--jdt-warning-as-error']) + if mx.get_env('JDT'): + t = Task('BuildJavaWithEcj') + build(['--no-native', '--jdt-warning-as-error']) + tasks.append(t.stop()) + + _clean('CleanAfterEcjBuild') + + t = Task('BuildJavaWithJavac') + build(['--no-native', '--force-javac']) tasks.append(t.stop()) t = Task('Checkstyle') diff -r ebd2dfc2b780 -r f4dedec9b225 mxtool/mx.py --- a/mxtool/mx.py Tue Feb 11 14:26:48 2014 -0800 +++ b/mxtool/mx.py Tue Feb 11 15:07:50 2014 -0800 @@ -1557,6 +1557,7 @@ parser.add_argument('--only', action='store', help='comma separated projects to build, without checking their dependencies (omit to build all projects)') 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('--force-javac', action='store_true', dest='javac', help='use javac despite ecj.jar is found or not') parser.add_argument('--jdt', help='path to ecj.jar, the Eclipse batch compiler (default: ' + defaultEcjPath + ')', default=defaultEcjPath, metavar='') parser.add_argument('--jdt-warning-as-error', action='store_true', help='convert all Eclipse batch compiler warnings to errors') @@ -1566,7 +1567,7 @@ args = parser.parse_args(args) jdtJar = None - if args.jdt is not None: + if not args.javac and args.jdt is not None: if not args.jdt.endswith('.jar'): abort('Path for Eclipse batch compiler does not look like a jar file: ' + args.jdt) jdtJar = args.jdt