From 92d6803a0c01336f53aa3f78e6ce387333598d29 Mon Sep 17 00:00:00 2001 From: nik Date: Thu, 15 Jul 2010 10:25:44 +0400 Subject: [PATCH 1/2] use in-process javac only if source level of module matches with jdk version --- .../jetbrains/jps/builders/StandardBuilders.groovy | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/jps/src/org/jetbrains/jps/builders/StandardBuilders.groovy b/jps/src/org/jetbrains/jps/builders/StandardBuilders.groovy index d263c0c20c8b..ce73d591ef6f 100644 --- a/jps/src/org/jetbrains/jps/builders/StandardBuilders.groovy +++ b/jps/src/org/jetbrains/jps/builders/StandardBuilders.groovy @@ -14,13 +14,15 @@ class JavacBuilder implements ModuleBuilder { String sourceLevel = module["sourceLevel"] String targetLevel = module["targetLevel"] String customArgs = module["javac_args"] - def javacExecutable = getJavacExecutable(module) if (module.project.builder.useInProcessJavac) { - if (javacExecutable != null) { - module.project.warning("In-process Javac instead of '${javacExecutable}' will be used for '${module.name}'") + String version = System.getProperty("java.version") + if (sourceLevel == null || version.startsWith(sourceLevel)) { + if (Java16ApiCompilerRunner.compile(module, state, sourceLevel, targetLevel, customArgs)) { + return + } } - if (Java16ApiCompilerRunner.compile(module, state, sourceLevel, targetLevel, customArgs)) { - return + else { + module.project.info("In-process Javac won't be used for '${module.name}', because Java version ($version) doesn't match to source level ($sourceLevel)") } } @@ -33,6 +35,7 @@ class JavacBuilder implements ModuleBuilder { params.fork = "true" params.debug = "on" + def javacExecutable = getJavacExecutable(module) if (javacExecutable != null) { params.executable = javacExecutable } From eb7727eb407359a4dd3e07b8597b2d35d3d13010 Mon Sep 17 00:00:00 2001 From: nik Date: Thu, 15 Jul 2010 10:27:14 +0400 Subject: [PATCH 2/2] generate less warnings --- jps/src/org/jetbrains/jps/ProjectBuilder.groovy | 2 +- .../jetbrains/jps/builders/javacApi/Java16ApiCompiler.groovy | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/jps/src/org/jetbrains/jps/ProjectBuilder.groovy b/jps/src/org/jetbrains/jps/ProjectBuilder.groovy index 414ed65c52dd..8f0b4d3866e8 100644 --- a/jps/src/org/jetbrains/jps/ProjectBuilder.groovy +++ b/jps/src/org/jetbrains/jps/ProjectBuilder.groovy @@ -249,7 +249,7 @@ class ProjectBuilder { private def chunkOutput(ModuleChunk chunk) { if (outputs[chunk] == null) { - binding.project.warning("Dependency module ${chunk.name} haven't yet been built, now building it"); + project.info("Dependency module ${chunk.name} haven't yet been built, now building it"); makeChunk(chunk) } return outputs[chunk] diff --git a/jps/src/org/jetbrains/jps/builders/javacApi/Java16ApiCompiler.groovy b/jps/src/org/jetbrains/jps/builders/javacApi/Java16ApiCompiler.groovy index 87ccad227c98..e6720a1cb397 100644 --- a/jps/src/org/jetbrains/jps/builders/javacApi/Java16ApiCompiler.groovy +++ b/jps/src/org/jetbrains/jps/builders/javacApi/Java16ApiCompiler.groovy @@ -46,6 +46,7 @@ class Java16ApiCompiler { options << targetLevel } options << "-g" + options << "-nowarn" // options << "-verbose" List filesToCompile = []