diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/MavenImportUtil.kt b/plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/MavenImportUtil.kt index 10d1cd3e84df8..ed02b86cbc6c5 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/MavenImportUtil.kt +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/MavenImportUtil.kt @@ -230,7 +230,7 @@ object MavenImportUtil { } private fun getCompilerLevel(level: String): LanguageLevel? { - val configs = if (isTest) mavenProject.testCompilerConfigs else mavenProject.compilerConfigs + val configs = if (isTest) mavenProject.testCompilerConfigs else mavenProject.compilerConfigs + mavenProject.pluginConfig val fallbackProperty = "maven.compiler.$level" val levels = configs.mapNotNull { LanguageLevel.parse(findChildValueByPath(it, level)) } val maxLevel = levels.maxWithOrNull(Comparator.naturalOrder())?.toJavaVersion()?.toFeatureString() @@ -380,18 +380,23 @@ object MavenImportUtil { internal val MavenProject.declaredAnnotationProcessors: List get() { - return compilerConfigs.flatMap { getDeclaredAnnotationProcessors(it) } + return compilerConfigsOrPluginConfig.flatMap { getDeclaredAnnotationProcessors(it) } } - private val MavenProject.compilerConfigs: List + private val MavenProject.compilerConfigsOrPluginConfig: List get() { - val configurations: List = compileExecutionConfigurations + val configurations: List = compilerConfigs if (!configurations.isEmpty()) return configurations + return pluginConfig + } + + private val MavenProject.pluginConfig: List + get() { val configuration: Element? = getPluginConfiguration(COMPILER_PLUGIN_GROUP_ID, COMPILER_PLUGIN_ARTIFACT_ID) return ContainerUtil.createMaybeSingletonList(configuration) } - private val MavenProject.compileExecutionConfigurations: List + private val MavenProject.compilerConfigs: List get() { val plugin = findCompilerPlugin() if (plugin == null) return emptyList()