From 36915bf84680b9d462728059f077a0855310e912 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. --- .../Incremental_Compilation_Tests.xml | 37 ------------------- .../kotlin/config/IncrementalCompilation.java | 2 +- idea/testData/modules.xml/filtered.xml | 5 +-- idea/testData/modules.xml/multiple.xml | 10 +---- .../jps/build/AbstractIncrementalJpsTest.kt | 4 -- .../kotlin/jps/build/KotlinJpsBuildTest.java | 26 +++++++++++-- 6 files changed, 26 insertions(+), 58 deletions(-) delete mode 100644 .idea/runConfigurations/Incremental_Compilation_Tests.xml diff --git a/.idea/runConfigurations/Incremental_Compilation_Tests.xml b/.idea/runConfigurations/Incremental_Compilation_Tests.xml deleted file mode 100644 index 73e4fa1f424..00000000000 --- a/.idea/runConfigurations/Incremental_Compilation_Tests.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/compiler/util/src/org/jetbrains/kotlin/config/IncrementalCompilation.java b/compiler/util/src/org/jetbrains/kotlin/config/IncrementalCompilation.java index 5840c79425c..a44534feb0c 100644 --- a/compiler/util/src/org/jetbrains/kotlin/config/IncrementalCompilation.java +++ b/compiler/util/src/org/jetbrains/kotlin/config/IncrementalCompilation.java @@ -17,5 +17,5 @@ package org.jetbrains.kotlin.config; public class IncrementalCompilation { - public static final boolean ENABLED = "true".equals(System.getProperty("kotlin.incremental.compilation")); + public static final boolean ENABLED = !"false".equals(System.getProperty("kotlin.incremental.compilation")); } diff --git a/idea/testData/modules.xml/filtered.xml b/idea/testData/modules.xml/filtered.xml index 21e59b08163..30ba6ca4746 100644 --- a/idea/testData/modules.xml/filtered.xml +++ b/idea/testData/modules.xml/filtered.xml @@ -5,10 +5,7 @@ - - + diff --git a/idea/testData/modules.xml/multiple.xml b/idea/testData/modules.xml/multiple.xml index 59f09db520a..f2097e8b7fb 100644 --- a/idea/testData/modules.xml/multiple.xml +++ b/idea/testData/modules.xml/multiple.xml @@ -5,10 +5,7 @@ - - + @@ -20,10 +17,7 @@ - - + diff --git a/jps-plugin/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalJpsTest.kt b/jps-plugin/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalJpsTest.kt index f01fc98f5d6..e4d8ac82c1a 100644 --- a/jps-plugin/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalJpsTest.kt +++ b/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-plugin/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTest.java b/jps-plugin/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTest.java index 697994f07c6..c2a386cc95f 100644 --- a/jps-plugin/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTest.java +++ b/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 }