From 122b5330768ec65df269e7058466889734215a35 Mon Sep 17 00:00:00 2001 From: Evgeny Gerashchenko Date: Fri, 29 May 2015 16:09:28 +0300 Subject: [PATCH] Enabled incremental compilation by default. Original commit: 36915bf84680b9d462728059f077a0855310e912 --- .../jps/build/AbstractIncrementalJpsTest.kt | 4 --- .../kotlin/jps/build/KotlinJpsBuildTest.java | 26 ++++++++++++++++--- 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalJpsTest.kt b/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalJpsTest.kt index f01fc98f5d6..e4d8ac82c1a 100644 --- a/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalJpsTest.kt +++ b/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalJpsTest.kt @@ -219,10 +219,6 @@ public abstract class AbstractIncrementalJpsTest : JpsBuildTestCase() { } protected fun doTest(testDataPath: String) { - if (!IncrementalCompilation.ENABLED) { - return - } - testDataDir = File(testDataPath) workDir = FileUtilRt.createTempDirectory(TEMP_DIRECTORY_TO_USE, "jps-build", null) diff --git a/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTest.java b/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTest.java index 697994f07c6..c2a386cc95f 100644 --- a/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTest.java +++ b/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTest.java @@ -20,6 +20,7 @@ import com.google.common.collect.Lists; import com.intellij.openapi.util.Condition; import com.intellij.openapi.util.io.FileUtil; import com.intellij.testFramework.LightVirtualFile; +import com.intellij.util.ArrayUtil; import com.intellij.util.containers.ContainerUtil; import com.intellij.util.io.ZipUtil; import kotlin.KotlinPackage; @@ -303,12 +304,16 @@ public class KotlinJpsBuildTest extends AbstractKotlinJpsBuildTestCase { checkWhen(touch("src/main.kt"), null, packageClasses("kotlinProject", "src/main.kt", "foo.FooPackage")); checkWhen(touch("src/boo.kt"), null, packageClasses("kotlinProject", "src/boo.kt", "boo.BooPackage")); checkWhen(touch("src/Bar.kt"), - new String[] {"src/Bar.kt", "src/boo.kt", "src/main.kt"}, + new String[] {"src/Bar.kt"}, new String[] {klass("kotlinProject", "foo.Bar")}); checkWhen(del("src/main.kt"), new String[] {"src/Bar.kt", "src/boo.kt"}, - packageClasses("kotlinProject", "src/main.kt", "foo.FooPackage")); + mergeArrays( + packageClasses("kotlinProject", "src/main.kt", "foo.FooPackage"), + packageClasses("kotlinProject", "src/boo.kt", "boo.BooPackage"), + new String[]{ klass("kotlinProject", "foo.Bar") } + )); assertFilesExistInOutput(module, "boo/BooPackage.class", "foo/Bar.class"); assertFilesNotExistInOutput(module, "foo/FooPackage.class"); @@ -325,7 +330,7 @@ public class KotlinJpsBuildTest extends AbstractKotlinJpsBuildTestCase { checkWhen(touch("src/main.kt"), null, packageClasses("kotlinProject", "src/main.kt", "foo.FooPackage")); checkWhen(touch("src/boo.kt"), null, packageClasses("kotlinProject", "src/boo.kt", "boo.BooPackage")); checkWhen(touch("src/Bar.kt"), - new String[] {"src/Bar.kt", "src/boo.kt", "src/main.kt"}, + new String[] {"src/Bar.kt"}, new String[] { klass("kotlinProject", "foo.Bar"), klass("kotlinProject", "foo.FooPackage"), @@ -333,7 +338,12 @@ public class KotlinJpsBuildTest extends AbstractKotlinJpsBuildTestCase { checkWhen(del("src/main.kt"), new String[] {"src/Bar.kt", "src/boo.kt"}, - packageClasses("kotlinProject", "src/main.kt", "foo.FooPackage")); + mergeArrays( + packageClasses("kotlinProject", "src/main.kt", "foo.FooPackage"), + packageClasses("kotlinProject", "src/Bar.kt", "foo.FooPackage"), + packageClasses("kotlinProject", "src/boo.kt", "boo.BooPackage"), + new String[] {klass("kotlinProject", "foo.Bar")} + )); assertFilesExistInOutput(module, "foo/FooPackage.class", "boo/BooPackage.class", "foo/Bar.class"); checkWhen(touch("src/boo.kt"), null, packageClasses("kotlinProject", "src/boo.kt", "boo.BooPackage")); @@ -618,6 +628,14 @@ public class KotlinJpsBuildTest extends AbstractKotlinJpsBuildTestCase { return klass(moduleName, AsmUtil.internalNameByFqNameWithoutInnerClasses(packagePartFqName)); } + public static String[] mergeArrays(String[]... stringArrays) { + Set result = new HashSet(); + for (String[] array : stringArrays) { + result.addAll(Arrays.asList(array)); + } + return ArrayUtil.toStringArray(result); + } + private enum Operation { CHANGE, DELETE }