diff --git a/jps-plugin/src/org/jetbrains/jet/jps/build/KotlinBuilderModuleScriptGenerator.java b/jps-plugin/src/org/jetbrains/jet/jps/build/KotlinBuilderModuleScriptGenerator.java index c1b7a2cccf8..beecde4bfad 100644 --- a/jps-plugin/src/org/jetbrains/jet/jps/build/KotlinBuilderModuleScriptGenerator.java +++ b/jps-plugin/src/org/jetbrains/jet/jps/build/KotlinBuilderModuleScriptGenerator.java @@ -31,8 +31,10 @@ import org.jetbrains.jps.model.JpsDummyElement; import org.jetbrains.jps.model.java.*; import org.jetbrains.jps.model.library.JpsLibrary; import org.jetbrains.jps.model.library.sdk.JpsSdk; +import org.jetbrains.jps.model.library.sdk.JpsSdkType; import org.jetbrains.jps.model.module.JpsDependencyElement; import org.jetbrains.jps.model.module.JpsLibraryDependency; +import org.jetbrains.jps.model.module.JpsModule; import org.jetbrains.jps.model.module.JpsSdkDependency; import java.io.File; @@ -109,7 +111,8 @@ public class KotlinBuilderModuleScriptGenerator { private static List findAnnotationRoots(@NotNull ModuleBuildTarget target) { List annotationRootFiles = ContainerUtil.newArrayList(); - JpsSdk sdk = target.getModule().getSdk(JpsJavaSdkType.INSTANCE); + JpsModule module = target.getModule(); + JpsSdk sdk = module.getSdk(getSdkType(module)); if (sdk != null) { annotationRootFiles.addAll(sdk.getParent().getFiles(JpsAnnotationRootType.INSTANCE)); } @@ -131,6 +134,16 @@ public class KotlinBuilderModuleScriptGenerator { return annotationRootFiles; } + @NotNull + private static JpsSdkType getSdkType(@NotNull JpsModule module) { + for (JpsDependencyElement dependency : module.getDependenciesList().getDependencies()) { + if (dependency instanceof JpsSdkDependency) { + return ((JpsSdkDependency) dependency).getSdkType(); + } + } + return JpsJavaSdkType.INSTANCE; + } + @NotNull private static JpsJavaDependenciesEnumerator getAllDependencies(@NotNull ModuleBuildTarget target) { return JpsJavaExtensionService.dependencies(target.getModule()).recursively().exportedOnly()