Minor, don't add external annotation roots multiple times
Original commit: eb3588bd0a
This commit is contained in:
+4
-22
@@ -20,6 +20,7 @@ import com.intellij.openapi.util.io.FileUtil;
|
|||||||
import com.intellij.openapi.util.text.StringUtil;
|
import com.intellij.openapi.util.text.StringUtil;
|
||||||
import com.intellij.util.containers.ContainerUtil;
|
import com.intellij.util.containers.ContainerUtil;
|
||||||
import com.intellij.util.containers.MultiMap;
|
import com.intellij.util.containers.MultiMap;
|
||||||
|
import kotlin.KotlinPackage;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
import org.jetbrains.jps.ModuleChunk;
|
import org.jetbrains.jps.ModuleChunk;
|
||||||
@@ -34,7 +35,6 @@ import org.jetbrains.jps.model.library.JpsLibrary;
|
|||||||
import org.jetbrains.jps.model.library.sdk.JpsSdk;
|
import org.jetbrains.jps.model.library.sdk.JpsSdk;
|
||||||
import org.jetbrains.jps.model.library.sdk.JpsSdkType;
|
import org.jetbrains.jps.model.library.sdk.JpsSdkType;
|
||||||
import org.jetbrains.jps.model.module.JpsDependencyElement;
|
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.JpsModule;
|
||||||
import org.jetbrains.jps.model.module.JpsSdkDependency;
|
import org.jetbrains.jps.model.module.JpsSdkDependency;
|
||||||
import org.jetbrains.kotlin.config.IncrementalCompilation;
|
import org.jetbrains.kotlin.config.IncrementalCompilation;
|
||||||
@@ -60,9 +60,7 @@ public class KotlinBuilderModuleScriptGenerator {
|
|||||||
ModuleChunk chunk,
|
ModuleChunk chunk,
|
||||||
MultiMap<ModuleBuildTarget, File> sourceFiles, // ignored for non-incremental compilation
|
MultiMap<ModuleBuildTarget, File> sourceFiles, // ignored for non-incremental compilation
|
||||||
boolean hasRemovedFiles
|
boolean hasRemovedFiles
|
||||||
)
|
) throws IOException, ProjectBuildException {
|
||||||
throws IOException, ProjectBuildException
|
|
||||||
{
|
|
||||||
KotlinModuleDescriptionBuilder builder = FACTORY.create();
|
KotlinModuleDescriptionBuilder builder = FACTORY.create();
|
||||||
|
|
||||||
boolean noSources = true;
|
boolean noSources = true;
|
||||||
@@ -130,7 +128,6 @@ public class KotlinBuilderModuleScriptGenerator {
|
|||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private static Collection<File> findClassPathRoots(@NotNull ModuleBuildTarget target) {
|
private static Collection<File> findClassPathRoots(@NotNull ModuleBuildTarget target) {
|
||||||
|
|
||||||
return getAllDependencies(target).classes().getRoots();
|
return getAllDependencies(target).classes().getRoots();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -149,7 +146,7 @@ public class KotlinBuilderModuleScriptGenerator {
|
|||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private static List<File> findAnnotationRoots(@NotNull ModuleBuildTarget target) {
|
private static List<File> findAnnotationRoots(@NotNull ModuleBuildTarget target) {
|
||||||
List<File> annotationRootFiles = ContainerUtil.newArrayList();
|
LinkedHashSet<File> annotationRootFiles = new LinkedHashSet<File>();
|
||||||
|
|
||||||
JpsModule module = target.getModule();
|
JpsModule module = target.getModule();
|
||||||
JpsSdk sdk = module.getSdk(getSdkType(module));
|
JpsSdk sdk = module.getSdk(getSdkType(module));
|
||||||
@@ -171,7 +168,7 @@ public class KotlinBuilderModuleScriptGenerator {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return annotationRootFiles;
|
return KotlinPackage.toList(annotationRootFiles);
|
||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
@@ -184,20 +181,5 @@ public class KotlinBuilderModuleScriptGenerator {
|
|||||||
return JpsJavaSdkType.INSTANCE;
|
return JpsJavaSdkType.INSTANCE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
|
||||||
private static JpsLibrary getLibrary(@NotNull JpsDependencyElement dependencyElement) {
|
|
||||||
if (dependencyElement instanceof JpsSdkDependency) {
|
|
||||||
JpsSdkDependency sdkDependency = (JpsSdkDependency) dependencyElement;
|
|
||||||
return sdkDependency.resolveSdk();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (dependencyElement instanceof JpsLibraryDependency) {
|
|
||||||
JpsLibraryDependency libraryDependency = (JpsLibraryDependency) dependencyElement;
|
|
||||||
return libraryDependency.getLibrary();
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
private KotlinBuilderModuleScriptGenerator() {}
|
private KotlinBuilderModuleScriptGenerator() {}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user