From 1dcc772f45c177027c2c3b75f41b0fdec1a68e1c Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Fri, 24 Apr 2015 19:22:37 +0300 Subject: [PATCH] Drop external annotations support in build tools External annotations will only be considered in the IDE for additional inspections based on more precise types in Java libraries Original commit: 13c54a2678ee26efd594285644c8ac9b3d6b5b1a --- .../KotlinBuilderModuleScriptGenerator.java | 36 ------------------- .../modules/KotlinModuleXmlBuilder.java | 9 ----- .../build/AbstractKotlinJpsBuildTestCase.java | 2 -- .../kotlin/jvm/compiler/ClasspathOrderTest.kt | 1 - .../modules/KotlinModuleXmlGeneratorTest.java | 4 --- 5 files changed, 52 deletions(-) diff --git a/jps/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilderModuleScriptGenerator.java b/jps/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilderModuleScriptGenerator.java index 507cd7f90a3..5da0e4c8c64 100644 --- a/jps/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilderModuleScriptGenerator.java +++ b/jps/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilderModuleScriptGenerator.java @@ -33,14 +33,6 @@ import org.jetbrains.jps.builders.logging.ProjectBuilderLogger; import org.jetbrains.jps.incremental.CompileContext; import org.jetbrains.jps.incremental.ModuleBuildTarget; import org.jetbrains.jps.incremental.ProjectBuildException; -import org.jetbrains.jps.model.java.JpsAnnotationRootType; -import org.jetbrains.jps.model.java.JpsJavaSdkType; -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.JpsModule; -import org.jetbrains.jps.model.module.JpsSdkDependency; import org.jetbrains.kotlin.config.IncrementalCompilation; import org.jetbrains.kotlin.modules.KotlinModuleXmlBuilder; @@ -92,7 +84,6 @@ public class KotlinBuilderModuleScriptGenerator { moduleSources, findSourceRoots(context, target), findClassPathRoots(target), - findAnnotationRoots(target), (JavaModuleBuildTargetType) targetType, // this excludes the output directories from the class path, to be removed for true incremental compilation outputDirs @@ -149,33 +140,6 @@ public class KotlinBuilderModuleScriptGenerator { return result; } - @NotNull - private static List findAnnotationRoots(@NotNull ModuleBuildTarget target) { - LinkedHashSet annotationRootFiles = new LinkedHashSet(); - - JpsModule module = target.getModule(); - JpsSdk sdk = module.getSdk(getSdkType(module)); - if (sdk != null) { - annotationRootFiles.addAll(sdk.getParent().getFiles(JpsAnnotationRootType.INSTANCE)); - } - - for (JpsLibrary library : getAllDependencies(target).getLibraries()) { - annotationRootFiles.addAll(library.getFiles(JpsAnnotationRootType.INSTANCE)); - } - - // JDK is stored locally on user's machine, so its configuration, including external annotation paths - // is not available on TeamCity. When running on TeamCity, one has to provide extra path to JDK annotations - String extraAnnotationsPaths = System.getProperty("jps.kotlin.extra.annotation.paths"); - if (extraAnnotationsPaths != null) { - String[] paths = extraAnnotationsPaths.split(";"); - for (String path : paths) { - annotationRootFiles.add(new File(path)); - } - } - - return CollectionsKt.toList(annotationRootFiles); - } - @NotNull private static JpsSdkType getSdkType(@NotNull JpsModule module) { for (JpsDependencyElement dependency : module.getDependenciesList().getDependencies()) { diff --git a/jps/jps-plugin/src/org/jetbrains/kotlin/modules/KotlinModuleXmlBuilder.java b/jps/jps-plugin/src/org/jetbrains/kotlin/modules/KotlinModuleXmlBuilder.java index 1df8e11addd..a74c1a2f29b 100644 --- a/jps/jps-plugin/src/org/jetbrains/kotlin/modules/KotlinModuleXmlBuilder.java +++ b/jps/jps-plugin/src/org/jetbrains/kotlin/modules/KotlinModuleXmlBuilder.java @@ -45,7 +45,6 @@ public class KotlinModuleXmlBuilder { List sourceFiles, List javaSourceRoots, Collection classpathRoots, - List annotationRoots, JavaModuleBuildTargetType targetType, Set directoriesToFilterOut ) { @@ -71,7 +70,6 @@ public class KotlinModuleXmlBuilder { processJavaSourceRoots(javaSourceRoots); processClasspath(classpathRoots, directoriesToFilterOut); - processAnnotationRoots(annotationRoots); closeTag(p, MODULE); return this; @@ -102,13 +100,6 @@ public class KotlinModuleXmlBuilder { } } - private void processAnnotationRoots(@NotNull List files) { - p.println(""); - for (File file : files) { - p.println("<", EXTERNAL_ANNOTATIONS, " ", PATH, "=\"", getEscapedPath(file), "\"/>"); - } - } - private void processJavaSourceRoots(@NotNull List files) { p.println(""); for (File file : files) { diff --git a/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/AbstractKotlinJpsBuildTestCase.java b/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/AbstractKotlinJpsBuildTestCase.java index c72a724e30f..b633b033098 100644 --- a/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/AbstractKotlinJpsBuildTestCase.java +++ b/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/AbstractKotlinJpsBuildTestCase.java @@ -22,7 +22,6 @@ import org.jetbrains.jps.builders.JpsBuildTestCase; import org.jetbrains.jps.model.JpsDummyElement; import org.jetbrains.jps.model.JpsModuleRootModificationUtil; import org.jetbrains.jps.model.JpsProject; -import org.jetbrains.jps.model.java.JpsAnnotationRootType; import org.jetbrains.jps.model.java.JpsJavaDependencyScope; import org.jetbrains.jps.model.java.JpsJavaLibraryType; import org.jetbrains.jps.model.java.JpsJavaSdkType; @@ -73,7 +72,6 @@ public abstract class AbstractKotlinJpsBuildTestCase extends JpsBuildTestCase { String versionString = System.getProperty("java.version"); JpsTypedLibrary> jdk = myModel.getGlobal().addSdk(name, homePath, versionString, JpsJavaSdkType.INSTANCE); jdk.addRoot(JpsPathUtil.pathToUrl(path), JpsOrderRootType.COMPILED); - jdk.addRoot(JpsPathUtil.pathToUrl(PathUtil.getKotlinPathsForDistDirectory().getJdkAnnotationsPath().getAbsolutePath()), JpsAnnotationRootType.INSTANCE); return jdk.getProperties(); } diff --git a/jps/jps-plugin/test/org/jetbrains/kotlin/jvm/compiler/ClasspathOrderTest.kt b/jps/jps-plugin/test/org/jetbrains/kotlin/jvm/compiler/ClasspathOrderTest.kt index 0a22bde715a..ccc56bb75a3 100644 --- a/jps/jps-plugin/test/org/jetbrains/kotlin/jvm/compiler/ClasspathOrderTest.kt +++ b/jps/jps-plugin/test/org/jetbrains/kotlin/jvm/compiler/ClasspathOrderTest.kt @@ -45,7 +45,6 @@ public class ClasspathOrderTest : TestCaseWithTmpdir() { listOf(sourceDir), listOf(sourceDir), listOf(PathUtil.getKotlinPathsForDistDirectory().getRuntimePath()), - listOf(), JavaModuleBuildTargetType.PRODUCTION, setOf() ).asText().toString() diff --git a/jps/jps-plugin/test/org/jetbrains/kotlin/modules/KotlinModuleXmlGeneratorTest.java b/jps/jps-plugin/test/org/jetbrains/kotlin/modules/KotlinModuleXmlGeneratorTest.java index 0e40545b642..8c53fb95d41 100644 --- a/jps/jps-plugin/test/org/jetbrains/kotlin/modules/KotlinModuleXmlGeneratorTest.java +++ b/jps/jps-plugin/test/org/jetbrains/kotlin/modules/KotlinModuleXmlGeneratorTest.java @@ -32,7 +32,6 @@ public class KotlinModuleXmlGeneratorTest extends TestCase { Arrays.asList(new File("s1"), new File("s2")), Collections.singletonList(new File("java")), Arrays.asList(new File("cp1"), new File("cp2")), - Arrays.asList(new File("a1/f1"), new File("a2")), JavaModuleBuildTargetType.PRODUCTION, Collections.emptySet() ).asText().toString(); @@ -46,7 +45,6 @@ public class KotlinModuleXmlGeneratorTest extends TestCase { Arrays.asList(new File("s1"), new File("s2")), Collections.emptyList(), Arrays.asList(new File("cp1"), new File("cp2")), - Arrays.asList(new File("a1/f1"), new File("a2")), JavaModuleBuildTargetType.PRODUCTION, Collections.singleton(new File("cp1")) ).asText().toString(); @@ -61,7 +59,6 @@ public class KotlinModuleXmlGeneratorTest extends TestCase { Arrays.asList(new File("s1"), new File("s2")), Collections.emptyList(), Arrays.asList(new File("cp1"), new File("cp2")), - Arrays.asList(new File("a1/f1"), new File("a2")), JavaModuleBuildTargetType.PRODUCTION, Collections.singleton(new File("cp1")) ); @@ -71,7 +68,6 @@ public class KotlinModuleXmlGeneratorTest extends TestCase { Arrays.asList(new File("s12"), new File("s22")), Collections.emptyList(), Arrays.asList(new File("cp12"), new File("cp22")), - Arrays.asList(new File("a12/f12"), new File("a22")), JavaModuleBuildTargetType.TEST, Collections.singleton(new File("cp12")) );