From 43e2c8307310eb14d2c938d92091d64fd4ce3b3b Mon Sep 17 00:00:00 2001 From: nik Date: Fri, 14 Oct 2011 14:01:46 +0400 Subject: [PATCH] jps: added method to get languageLevel for module --- jps/model/src/org/jetbrains/jps/Module.groovy | 2 ++ jps/model/src/org/jetbrains/jps/ModuleChunk.groovy | 4 ++++ .../src/org/jetbrains/jps/idea/IdeaProjectLoader.groovy | 6 ++---- jps/src/org/jetbrains/jps/builders/StandardBuilders.groovy | 4 ++-- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/jps/model/src/org/jetbrains/jps/Module.groovy b/jps/model/src/org/jetbrains/jps/Module.groovy index a1a04de5f502..42c9c0c34430 100644 --- a/jps/model/src/org/jetbrains/jps/Module.groovy +++ b/jps/model/src/org/jetbrains/jps/Module.groovy @@ -24,6 +24,8 @@ class Module extends LazyInitializeableObject implements ClasspathItem {//}, Com Map sourceRootPrefixes = [:] Map libraries = [:] + String languageLevel + /*int compareTo(Object o) { if (o instanceof Module) { ((Module) o).name.compareTo(name); diff --git a/jps/model/src/org/jetbrains/jps/ModuleChunk.groovy b/jps/model/src/org/jetbrains/jps/ModuleChunk.groovy index c118e6a2b416..663a235eef67 100644 --- a/jps/model/src/org/jetbrains/jps/ModuleChunk.groovy +++ b/jps/model/src/org/jetbrains/jps/ModuleChunk.groovy @@ -69,6 +69,10 @@ class ModuleChunk extends DagNode { return representativeModule().project } + def String getLanguageLevel() { + return representativeModule().languageLevel + } + public Module representativeModule() { return elements.iterator().next() } diff --git a/jps/model/src/org/jetbrains/jps/idea/IdeaProjectLoader.groovy b/jps/model/src/org/jetbrains/jps/idea/IdeaProjectLoader.groovy index 9e85291295f7..4258476f1655 100644 --- a/jps/model/src/org/jetbrains/jps/idea/IdeaProjectLoader.groovy +++ b/jps/model/src/org/jetbrains/jps/idea/IdeaProjectLoader.groovy @@ -197,7 +197,7 @@ public class IdeaProjectLoader { configuration.javacOptions.putAll(loadOptions(getComponent(root, "JavacSettings"))) - def annotationProcessingTag = componentTag.annotationProcessing + def annotationProcessingTag = componentTag?.annotationProcessing if (annotationProcessingTag != null) { configuration.annotationProcessing.enabled = parseBoolean(annotationProcessingTag."@enabled", false) configuration.annotationProcessing.obtainProcessorsFromClasspath = parseBoolean(annotationProcessingTag."@useClasspath", true) @@ -471,9 +471,7 @@ public class IdeaProjectLoader { languageLevel = projectLanguageLevel } if (languageLevel != null) { - def ll = convertLanguageLevel(languageLevel) - currentModule["sourceLevel"] = ll - currentModule["targetLevel"] = ll + currentModule.languageLevel = convertLanguageLevel(languageLevel) } if (srcFolderExists) { diff --git a/jps/src/org/jetbrains/jps/builders/StandardBuilders.groovy b/jps/src/org/jetbrains/jps/builders/StandardBuilders.groovy index 2da9a6721a76..b7519ab06d75 100644 --- a/jps/src/org/jetbrains/jps/builders/StandardBuilders.groovy +++ b/jps/src/org/jetbrains/jps/builders/StandardBuilders.groovy @@ -27,8 +27,8 @@ class JavacBuilder implements ModuleBuilder, ModuleCycleBuilder { def doBuildModule(ModuleChunk module, ModuleBuildState state, ProjectBuilder projectBuilder) { if (state.sourceRoots.isEmpty()) return; - String sourceLevel = module["sourceLevel"] - String targetLevel = module["targetLevel"] + String sourceLevel = module.languageLevel + String targetLevel = module.languageLevel String customArgs = module["javac_args"]; // it seems javac_args property is not set, can we drop it? if (projectBuilder.useInProcessJavac) { String version = System.getProperty("java.version")