From a447c39f69d387fba29b6a69e54a591fab5753b2 Mon Sep 17 00:00:00 2001 From: Alexey Tsvetkov Date: Thu, 19 Nov 2015 13:48:39 +0300 Subject: [PATCH] Kotlin incremental cache version change should not affect java only modules --- .../kotlin/jps/build/KotlinBuilder.kt | 84 ++++++++++++------- ...tractIncrementalCacheVersionChangedTest.kt | 18 +++- .../AbstractIncrementalLazyCachesTest.kt | 8 +- ...aContainerVersionChangedTestGenerated.java | 24 ++++++ ...lChangeIncrementalOptionTestGenerated.java | 12 +++ ...entalCacheVersionChangedTestGenerated.java | 24 ++++++ ...entalCacheVersionChangedTestGenerated.java | 24 ++++++ .../kotlin/jps/build/KotlinJpsBuildTest.kt | 5 +- .../clearedHasKotlin/build.log | 36 ++++++++ .../data-container-version-build.log | 36 ++++++++ .../clearedHasKotlin/dependencies.txt | 3 + .../clearedHasKotlin/module1_A.kt | 1 + .../clearedHasKotlin/module1_A.kt.touch.2 | 1 + .../clearedHasKotlin/module1_B.kt | 1 + .../clearedHasKotlin/module1_C.java | 1 + .../clearedHasKotlin/module1_C.java.touch.1 | 1 + .../clearedHasKotlin/module1_D.java | 1 + .../module1_clear-has-kotlin.new.1} | 0 ...odule1_do-not-change-cache-versions.new.2} | 0 .../clearedHasKotlin/module2_E.kt | 1 + .../clearedHasKotlin/module3_F.kt | 1 + .../javaOnlyModulesAreNotAffected/build.log | 14 ++++ .../data-container-version-build.log | 14 ++++ .../dependencies.txt | 3 + .../module1_A.java | 1 + .../module1_A.java.touch.1} | 0 .../module1_B.java | 1 + .../module1_B.java.touch.2} | 0 .../module2_C.java | 1 + .../module1Modified/build.log | 6 -- .../data-container-version-build.log | 6 -- .../moduleWithConstantModified/build.log | 2 + .../touchedOnlyJavaFile/A.java | 1 + .../touchedOnlyJavaFile/A.java.touch | 1 + .../touchedOnlyJavaFile/a.kt | 5 ++ .../touchedOnlyJavaFile/b.kt | 5 ++ .../touchedOnlyJavaFile/build.log | 17 ++++ .../data-container-version-build.log | 17 ++++ .../touchedOnlyJavaFile/other.kt | 4 + .../cacheVersionChanged/withError/build.log | 40 +++++++++ .../data-container-version-build.log | 38 +++++++++ .../withError/dependencies.txt | 5 ++ .../withError/module1_a.kt | 6 ++ .../withError/module1_a.kt.new.1 | 3 + .../withError/module1_a.kt.new.2 | 6 ++ ...module1_do-not-change-cache-versions.new.2 | 0 .../withError/module1_f.kt | 3 + .../withError/module2_b.kt | 8 ++ .../withError/module3_c.kt | 7 ++ .../withError/module4_d.kt | 3 + .../withError/module5_E.java | 3 + .../experimentalOn/build.log | 48 +++++++---- .../experimentalOn/dependencies.txt | 4 + .../experimentalOn/expected-kotlin-caches.txt | 22 ++++- .../experimentalOn/module1_z.kt | 3 + .../experimentalOn/{a.kt => module2_a.kt} | 0 .../experimentalOn/module2_a.kt.touch.1 | 0 .../experimentalOn/module2_a.kt.touch.2 | 0 .../experimentalOn/{b.kt => module2_b.kt} | 0 .../experimentalOn/{c.kt => module2_c.kt} | 0 ...=> module2_experimental-compilation.new.1} | 0 .../experimentalOn/module3_d.kt | 3 + .../experimentalOn/module4_e.kt | 3 + .../experimentalOnJavaChanged/build.log | 25 ++++++ .../dependencies.txt | 3 + .../expected-kotlin-caches.txt | 27 ++++++ .../experimentalOnJavaChanged/module1_a.kt | 1 + .../experimentalOnJavaChanged/module2_B.java | 1 + .../module2_B.java.new | 1 + .../experimentalOnJavaChanged/module2_c.kt | 1 + .../module2_experimental-compilation.new} | 0 .../experimentalOnJavaChanged/module3_d.kt | 1 + .../experimentalOnJavaOnly/A.java | 1 + .../experimentalOnJavaOnly/A.java.touch | 0 .../experimentalOnJavaOnly/B.java | 1 + .../experimentalOnJavaOnly/build.log | 6 ++ .../expected-kotlin-caches.txt | 3 + .../experimental-compilation.new} | 0 .../experimentalOnOff/build.log | 70 ++++++++++------ .../experimentalOnOff/dependencies.txt | 4 + .../expected-kotlin-caches.txt | 19 ++++- .../experimentalOnOff/module1_z.kt | 3 + .../experimentalOnOff/{a.kt => module2_a.kt} | 0 .../{a.kt.new.3 => module2_a.kt.new.3} | 0 .../experimentalOnOff/module2_a.kt.touch.1 | 0 .../experimentalOnOff/module2_a.kt.touch.2 | 0 .../experimentalOnOff/{b.kt => module2_b.kt} | 0 .../experimentalOnOff/{c.kt => module2_c.kt} | 0 .../module2_experimental-compilation.new.1 | 1 + ...=> module2_experimental-compilation.new.2} | 0 .../experimentalOnOff/module3_d.kt | 3 + .../experimentalOnOff/module4_e.kt | 3 + .../incrementalOff/build.log | 20 ++--- .../incrementalOff/dependencies.txt | 4 + .../incrementalOff/expected-kotlin-caches.txt | 10 ++- .../incrementalOff/module1_z.kt | 3 + .../incrementalOff/{a.kt => module2_a.kt} | 0 .../{a.kt.new.1 => module2_a.kt.new.1} | 0 .../{a.kt.new.2 => module2_a.kt.new.2} | 0 .../incrementalOff/{b.kt => module2_b.kt} | 0 .../incrementalOff/{c.kt => module2_c.kt} | 0 ... => module2_incremental-compilation.new.1} | 0 .../incrementalOff/module3_d.kt | 3 + .../incrementalOff/module4_e.kt | 3 + .../incrementalOffOn/build.log | 56 ++++++++----- .../incrementalOffOn/dependencies.txt | 4 + .../expected-kotlin-caches.txt | 19 ++++- .../incrementalOffOn/module1_z.kt | 3 + .../incrementalOffOn/{a.kt => module2_a.kt} | 0 .../{a.kt.new.1 => module2_a.kt.new.1} | 0 .../{a.kt.new.2 => module2_a.kt.new.2} | 0 .../{a.kt.new.3 => module2_a.kt.new.3} | 0 .../incrementalOffOn/{b.kt => module2_b.kt} | 0 .../incrementalOffOn/{c.kt => module2_c.kt} | 0 ... => module2_incremental-compilation.new.1} | 0 .../module2_incremental-compilation.new.2 | 1 + .../incrementalOffOn/module3_d.kt | 3 + .../incrementalOffOn/module4_e.kt | 3 + .../noKotlin/expected-kotlin-caches.txt | 1 - .../experimental-expected-kotlin-caches.txt | 5 +- 120 files changed, 760 insertions(+), 137 deletions(-) create mode 100644 jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/build.log create mode 100644 jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/data-container-version-build.log create mode 100644 jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/dependencies.txt create mode 100644 jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/module1_A.kt create mode 100644 jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/module1_A.kt.touch.2 create mode 100644 jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/module1_B.kt create mode 100644 jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/module1_C.java create mode 100644 jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/module1_C.java.touch.1 create mode 100644 jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/module1_D.java rename jps-plugin/testData/incremental/{changeIncrementalOption/experimentalOn/a.kt.touch.1 => cacheVersionChanged/clearedHasKotlin/module1_clear-has-kotlin.new.1} (100%) rename jps-plugin/testData/incremental/{changeIncrementalOption/experimentalOn/a.kt.touch.2 => cacheVersionChanged/clearedHasKotlin/module1_do-not-change-cache-versions.new.2} (100%) create mode 100644 jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/module2_E.kt create mode 100644 jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/module3_F.kt create mode 100644 jps-plugin/testData/incremental/cacheVersionChanged/javaOnlyModulesAreNotAffected/build.log create mode 100644 jps-plugin/testData/incremental/cacheVersionChanged/javaOnlyModulesAreNotAffected/data-container-version-build.log create mode 100644 jps-plugin/testData/incremental/cacheVersionChanged/javaOnlyModulesAreNotAffected/dependencies.txt create mode 100644 jps-plugin/testData/incremental/cacheVersionChanged/javaOnlyModulesAreNotAffected/module1_A.java rename jps-plugin/testData/incremental/{changeIncrementalOption/experimentalOnOff/a.kt.touch.1 => cacheVersionChanged/javaOnlyModulesAreNotAffected/module1_A.java.touch.1} (100%) create mode 100644 jps-plugin/testData/incremental/cacheVersionChanged/javaOnlyModulesAreNotAffected/module1_B.java rename jps-plugin/testData/incremental/{changeIncrementalOption/experimentalOnOff/a.kt.touch.2 => cacheVersionChanged/javaOnlyModulesAreNotAffected/module1_B.java.touch.2} (100%) create mode 100644 jps-plugin/testData/incremental/cacheVersionChanged/javaOnlyModulesAreNotAffected/module2_C.java create mode 100644 jps-plugin/testData/incremental/cacheVersionChanged/touchedOnlyJavaFile/A.java create mode 100644 jps-plugin/testData/incremental/cacheVersionChanged/touchedOnlyJavaFile/A.java.touch create mode 100644 jps-plugin/testData/incremental/cacheVersionChanged/touchedOnlyJavaFile/a.kt create mode 100644 jps-plugin/testData/incremental/cacheVersionChanged/touchedOnlyJavaFile/b.kt create mode 100644 jps-plugin/testData/incremental/cacheVersionChanged/touchedOnlyJavaFile/build.log create mode 100644 jps-plugin/testData/incremental/cacheVersionChanged/touchedOnlyJavaFile/data-container-version-build.log create mode 100644 jps-plugin/testData/incremental/cacheVersionChanged/touchedOnlyJavaFile/other.kt create mode 100644 jps-plugin/testData/incremental/cacheVersionChanged/withError/build.log create mode 100644 jps-plugin/testData/incremental/cacheVersionChanged/withError/data-container-version-build.log create mode 100644 jps-plugin/testData/incremental/cacheVersionChanged/withError/dependencies.txt create mode 100644 jps-plugin/testData/incremental/cacheVersionChanged/withError/module1_a.kt create mode 100644 jps-plugin/testData/incremental/cacheVersionChanged/withError/module1_a.kt.new.1 create mode 100644 jps-plugin/testData/incremental/cacheVersionChanged/withError/module1_a.kt.new.2 create mode 100644 jps-plugin/testData/incremental/cacheVersionChanged/withError/module1_do-not-change-cache-versions.new.2 create mode 100644 jps-plugin/testData/incremental/cacheVersionChanged/withError/module1_f.kt create mode 100644 jps-plugin/testData/incremental/cacheVersionChanged/withError/module2_b.kt create mode 100644 jps-plugin/testData/incremental/cacheVersionChanged/withError/module3_c.kt create mode 100644 jps-plugin/testData/incremental/cacheVersionChanged/withError/module4_d.kt create mode 100644 jps-plugin/testData/incremental/cacheVersionChanged/withError/module5_E.java create mode 100644 jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/dependencies.txt create mode 100644 jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/module1_z.kt rename jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/{a.kt => module2_a.kt} (100%) create mode 100644 jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/module2_a.kt.touch.1 create mode 100644 jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/module2_a.kt.touch.2 rename jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/{b.kt => module2_b.kt} (100%) rename jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/{c.kt => module2_c.kt} (100%) rename jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/{experimental-compilation.new.1 => module2_experimental-compilation.new.1} (100%) create mode 100644 jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/module3_d.kt create mode 100644 jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/module4_e.kt create mode 100644 jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaChanged/build.log create mode 100644 jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaChanged/dependencies.txt create mode 100644 jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaChanged/expected-kotlin-caches.txt create mode 100644 jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaChanged/module1_a.kt create mode 100644 jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaChanged/module2_B.java create mode 100644 jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaChanged/module2_B.java.new create mode 100644 jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaChanged/module2_c.kt rename jps-plugin/testData/incremental/changeIncrementalOption/{experimentalOnOff/experimental-compilation.new.1 => experimentalOnJavaChanged/module2_experimental-compilation.new} (100%) create mode 100644 jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaChanged/module3_d.kt create mode 100644 jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaOnly/A.java create mode 100644 jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaOnly/A.java.touch create mode 100644 jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaOnly/B.java create mode 100644 jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaOnly/build.log create mode 100644 jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaOnly/expected-kotlin-caches.txt rename jps-plugin/testData/incremental/changeIncrementalOption/{incrementalOffOn/incremental-compilation.new.2 => experimentalOnJavaOnly/experimental-compilation.new} (100%) create mode 100644 jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/dependencies.txt create mode 100644 jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/module1_z.kt rename jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/{a.kt => module2_a.kt} (100%) rename jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/{a.kt.new.3 => module2_a.kt.new.3} (100%) create mode 100644 jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/module2_a.kt.touch.1 create mode 100644 jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/module2_a.kt.touch.2 rename jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/{b.kt => module2_b.kt} (100%) rename jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/{c.kt => module2_c.kt} (100%) create mode 100644 jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/module2_experimental-compilation.new.1 rename jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/{experimental-compilation.new.2 => module2_experimental-compilation.new.2} (100%) create mode 100644 jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/module3_d.kt create mode 100644 jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/module4_e.kt create mode 100644 jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/dependencies.txt create mode 100644 jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/module1_z.kt rename jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/{a.kt => module2_a.kt} (100%) rename jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/{a.kt.new.1 => module2_a.kt.new.1} (100%) rename jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/{a.kt.new.2 => module2_a.kt.new.2} (100%) rename jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/{b.kt => module2_b.kt} (100%) rename jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/{c.kt => module2_c.kt} (100%) rename jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/{incremental-compilation.new.1 => module2_incremental-compilation.new.1} (100%) create mode 100644 jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/module3_d.kt create mode 100644 jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/module4_e.kt create mode 100644 jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/dependencies.txt create mode 100644 jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/module1_z.kt rename jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/{a.kt => module2_a.kt} (100%) rename jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/{a.kt.new.1 => module2_a.kt.new.1} (100%) rename jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/{a.kt.new.2 => module2_a.kt.new.2} (100%) rename jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/{a.kt.new.3 => module2_a.kt.new.3} (100%) rename jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/{b.kt => module2_b.kt} (100%) rename jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/{c.kt => module2_c.kt} (100%) rename jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/{incremental-compilation.new.1 => module2_incremental-compilation.new.1} (100%) create mode 100644 jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/module2_incremental-compilation.new.2 create mode 100644 jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/module3_d.kt create mode 100644 jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/module4_e.kt diff --git a/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilder.kt b/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilder.kt index 6fa5ec58e8c..d18e41ac030 100644 --- a/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilder.kt +++ b/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilder.kt @@ -28,6 +28,8 @@ import org.jetbrains.jps.builders.impl.BuildTargetRegistryImpl import org.jetbrains.jps.builders.impl.TargetOutputIndexImpl import org.jetbrains.jps.builders.java.JavaBuilderUtil import org.jetbrains.jps.builders.java.JavaSourceRootDescriptor +import org.jetbrains.jps.builders.java.dependencyView.Mappings +import org.jetbrains.jps.builders.storage.BuildDataPaths import org.jetbrains.jps.incremental.* import org.jetbrains.jps.incremental.ModuleLevelBuilder.ExitCode.* import org.jetbrains.jps.incremental.fs.CompilationRound @@ -73,6 +75,7 @@ import java.util.* public class KotlinBuilder : ModuleLevelBuilder(BuilderCategory.SOURCE_PROCESSOR) { companion object { private val TARGETS_WITH_CLEARED_CACHES = Key>("Targets with cleared Kotlin caches") + private val HAS_KOTLIN_FILE_NAME = "has-kotlin.txt" public val KOTLIN_BUILDER_NAME: String = "Kotlin Builder" public val LOOKUP_TRACKER: JpsElementChildRoleBase> = JpsElementChildRoleBase.create("lookup tracker") @@ -91,6 +94,21 @@ public class KotlinBuilder : ModuleLevelBuilder(BuilderCategory.SOURCE_PROCESSOR context.putUserData(TARGETS_WITH_CLEARED_CACHES, data) } } + + private fun hasKotlin(target: ModuleBuildTarget, paths: BuildDataPaths): Boolean { + val hasKotlinFile = File(paths.getTargetDataRoot(target), HAS_KOTLIN_FILE_NAME) + return hasKotlinFile.exists() + } + + private fun setHasKotlin(target: ModuleBuildTarget, paths: BuildDataPaths) { + val hasKotlinFile = File(paths.getTargetDataRoot(target), HAS_KOTLIN_FILE_NAME) + hasKotlinFile.createNewFile() + } + + fun clearHasKotlin(target: ModuleBuildTarget, paths: BuildDataPaths) { + val hasKotlinFile = File(paths.getTargetDataRoot(target), HAS_KOTLIN_FILE_NAME) + hasKotlinFile.delete() + } } private val statisticsLogger = TeamcityStatisticsLogger() @@ -123,11 +141,6 @@ public class KotlinBuilder : ModuleLevelBuilder(BuilderCategory.SOURCE_PROCESSOR try { val exitCode = doBuild(chunk, context, dirtyFilesHolder, messageCollector, outputConsumer) LOG.debug("Build result: " + exitCode) - - if (exitCode != ExitCode.CHUNK_REBUILD_REQUIRED && exitCode != ABORT) { - saveVersions(context, chunk) - } - return exitCode } catch (e: StopBuildException) { @@ -163,17 +176,22 @@ public class KotlinBuilder : ModuleLevelBuilder(BuilderCategory.SOURCE_PROCESSOR val targets = chunk.targets val requestedToRebuild = context.getUserData(TARGETS_WITH_CLEARED_CACHES) ?: setOf() val isFullRebuild = JavaBuilderUtil.isForcedRecompilationAllJavaModules(context) + val hasDirtyKotlin = (dirtyFilesHolder.hasDirtyFiles() || dirtyFilesHolder.hasRemovedFiles()) && + hasKotlinDirtyOrRemovedFiles(dirtyFilesHolder, chunk) - if (!isFullRebuild && !requestedToRebuild.containsAll(targets)) { - val exitCode = checkVersions(context, dataManager, targets) - - if (exitCode != null) return exitCode + if (!isFullRebuild && + !requestedToRebuild.containsAll(targets) && + (hasDirtyKotlin || targets.any { hasKotlin(it, dataManager.dataPaths) }) && + shouldRebuildBecauseVersionChanged(context, dataManager, targets) + ) { + FSOperations.markDirtyRecursively(context, CompilationRound.NEXT, chunk) { KotlinSourceFileCollector.isKotlinSourceFile(it) } + return CHUNK_REBUILD_REQUIRED } - if (!dirtyFilesHolder.hasDirtyFiles() && - !dirtyFilesHolder.hasRemovedFiles() || - !hasKotlinDirtyOrRemovedFiles(dirtyFilesHolder, chunk) - ) { + if (hasDirtyKotlin) { + targets.forEach { setHasKotlin(it, dataManager.dataPaths) } + } + else { return NOTHING_DONE } @@ -218,6 +236,7 @@ public class KotlinBuilder : ModuleLevelBuilder(BuilderCategory.SOURCE_PROCESSOR val generatedFiles = getGeneratedFiles(chunk, outputItemCollector) registerOutputItems(outputConsumer, generatedFiles) + saveVersions(context, chunk) if (JpsUtils.isJsKotlinModule(chunk.representativeTarget())) { copyJsLibraryFilesIfNeeded(chunk, project) @@ -330,15 +349,12 @@ public class KotlinBuilder : ModuleLevelBuilder(BuilderCategory.SOURCE_PROCESSOR } - private fun checkVersions(context: CompileContext, dataManager: BuildDataManager, targets: MutableSet): ExitCode? { + private fun shouldRebuildBecauseVersionChanged(context: CompileContext, dataManager: BuildDataManager, targets: MutableSet): Boolean { val cacheVersionsProvider = CacheVersionProvider(dataManager.dataPaths) val allVersions = cacheVersionsProvider.allVersions(targets) val actions = allVersions.map { it.checkVersion() }.toSet().sorted() - - fun cleanNormalCaches() { - LOG.info("Clearing caches for " + targets.joinToString { it.presentableName }) - targets.forEach { dataManager.getKotlinCache(it).clean() } - } + val buildTargetIndex = context.projectDescriptor.buildTargetIndex + val allTargets = buildTargetIndex.allTargets.filterIsInstance().toSet() for (status in actions) { when (status) { @@ -354,29 +370,37 @@ public class KotlinBuilder : ModuleLevelBuilder(BuilderCategory.SOURCE_PROCESSOR } } - val buildTargetIndex = context.projectDescriptor.buildTargetIndex - val allTargets = buildTargetIndex.allTargets.filterIsInstance().toSet() - - for (target in targets) { + for (target in allTargets) { dataManager.getKotlinCache(target).clean() + + // prevents excessive version checking in parallel compilation (user data is not shared in parallel compilation) + clearHasKotlin(target, dataManager.dataPaths) } dataManager.getStorage(KotlinDataContainerTarget, LookupStorageProvider).clean() registerTargetsWithClearedCaches(context, allTargets) - return CHUNK_REBUILD_REQUIRED + return true } CacheVersion.Action.REBUILD_CHUNK -> { - cleanNormalCaches() + LOG.info("Clearing caches for " + targets.joinToString { it.presentableName }) + targets.forEach { dataManager.getKotlinCache(it).clean() } registerTargetsWithClearedCaches(context, targets) - return CHUNK_REBUILD_REQUIRED + return true } CacheVersion.Action.CLEAN_NORMAL_CACHES -> { - cleanNormalCaches() + LOG.info("Clearing caches for all targets") + + for (target in allTargets) { + dataManager.getKotlinCache(target).clean() + } } CacheVersion.Action.CLEAN_EXPERIMENTAL_CACHES -> { - LOG.info("Clearing experimental caches for " + targets.joinToString { it.presentableName }) - targets.forEach { dataManager.getKotlinCache(it).cleanExperimental() } + LOG.info("Clearing experimental caches for all targets") + + for (target in allTargets) { + dataManager.getKotlinCache(target).cleanExperimental() + } } CacheVersion.Action.CLEAN_DATA_CONTAINER -> { LOG.info("Clearing lookup cache") @@ -389,7 +413,7 @@ public class KotlinBuilder : ModuleLevelBuilder(BuilderCategory.SOURCE_PROCESSOR } } - return null + return false } private fun saveVersions(context: CompileContext, chunk: ModuleChunk) { diff --git a/jps-plugin/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalCacheVersionChangedTest.kt b/jps-plugin/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalCacheVersionChangedTest.kt index cd2d932ec9d..498829ae793 100644 --- a/jps-plugin/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalCacheVersionChangedTest.kt +++ b/jps-plugin/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalCacheVersionChangedTest.kt @@ -21,10 +21,20 @@ import org.jetbrains.kotlin.jps.incremental.CacheVersionProvider abstract class AbstractIncrementalCacheVersionChangedTest : AbstractIncrementalJpsTest(allowNoFilesWithSuffixInTestData = true) { override fun performAdditionalModifications(modifications: List) { - val cacheVersionProvider = CacheVersionProvider(projectDescriptor.dataManager.dataPaths) - val versions = getVersions(cacheVersionProvider, projectDescriptor.allModuleTargets) - val versionFiles = versions.map { it.formatVersionFile }.filter { it.exists() } - versionFiles.forEach { it.writeText("777") } + val modifiedFiles = modifications.filterIsInstance().map { it.path } + val paths = projectDescriptor.dataManager.dataPaths + val targets = projectDescriptor.allModuleTargets + + if (modifiedFiles.any { it.endsWith("clear-has-kotlin") }) { + targets.forEach { KotlinBuilder.clearHasKotlin(it, paths) } + } + + if (modifiedFiles.none { it.endsWith("do-not-change-cache-versions") }) { + val cacheVersionProvider = CacheVersionProvider(paths) + val versions = getVersions(cacheVersionProvider, targets) + val versionFiles = versions.map { it.formatVersionFile }.filter { it.exists() } + versionFiles.forEach { it.writeText("777") } + } } protected open fun getVersions(cacheVersionProvider: CacheVersionProvider, targets: Iterable) = diff --git a/jps-plugin/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalLazyCachesTest.kt b/jps-plugin/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalLazyCachesTest.kt index 26e4c9ee51a..110006b4079 100644 --- a/jps-plugin/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalLazyCachesTest.kt +++ b/jps-plugin/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalLazyCachesTest.kt @@ -51,8 +51,10 @@ public abstract class AbstractIncrementalLazyCachesTest : AbstractIncrementalJps for (modification in modifications) { if (modification !is AbstractIncrementalJpsTest.ModifyContent) continue - when (File(modification.path).name) { - "incremental-compilation" -> { + val name = File(modification.path).name + + when { + name.endsWith("incremental-compilation") -> { if (modification.dataFile.readAsBool()) { IncrementalCompilation.enableIncrementalCompilation() } @@ -60,7 +62,7 @@ public abstract class AbstractIncrementalLazyCachesTest : AbstractIncrementalJps IncrementalCompilation.disableIncrementalCompilation() } } - "experimental-compilation" -> { + name.endsWith("experimental-compilation") -> { if (modification.dataFile.readAsBool()) { IncrementalCompilation.enableExperimental() } diff --git a/jps-plugin/test/org/jetbrains/kotlin/jps/build/DataContainerVersionChangedTestGenerated.java b/jps-plugin/test/org/jetbrains/kotlin/jps/build/DataContainerVersionChangedTestGenerated.java index bb7036cc753..6c97d1c0b7a 100644 --- a/jps-plugin/test/org/jetbrains/kotlin/jps/build/DataContainerVersionChangedTestGenerated.java +++ b/jps-plugin/test/org/jetbrains/kotlin/jps/build/DataContainerVersionChangedTestGenerated.java @@ -35,12 +35,24 @@ public class DataContainerVersionChangedTestGenerated extends AbstractDataContai KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("jps-plugin/testData/incremental/cacheVersionChanged"), Pattern.compile("^([^\\.]+)$"), true); } + @TestMetadata("clearedHasKotlin") + public void testClearedHasKotlin() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/"); + doTest(fileName); + } + @TestMetadata("exportedModule") public void testExportedModule() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/cacheVersionChanged/exportedModule/"); doTest(fileName); } + @TestMetadata("javaOnlyModulesAreNotAffected") + public void testJavaOnlyModulesAreNotAffected() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/cacheVersionChanged/javaOnlyModulesAreNotAffected/"); + doTest(fileName); + } + @TestMetadata("module1Modified") public void testModule1Modified() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/cacheVersionChanged/module1Modified/"); @@ -71,10 +83,22 @@ public class DataContainerVersionChangedTestGenerated extends AbstractDataContai doTest(fileName); } + @TestMetadata("touchedOnlyJavaFile") + public void testTouchedOnlyJavaFile() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/cacheVersionChanged/touchedOnlyJavaFile/"); + doTest(fileName); + } + @TestMetadata("untouchedFiles") public void testUntouchedFiles() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/cacheVersionChanged/untouchedFiles/"); doTest(fileName); } + @TestMetadata("withError") + public void testWithError() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/cacheVersionChanged/withError/"); + doTest(fileName); + } + } diff --git a/jps-plugin/test/org/jetbrains/kotlin/jps/build/ExperimentalChangeIncrementalOptionTestGenerated.java b/jps-plugin/test/org/jetbrains/kotlin/jps/build/ExperimentalChangeIncrementalOptionTestGenerated.java index 3c20c78835a..dcef0a52da9 100644 --- a/jps-plugin/test/org/jetbrains/kotlin/jps/build/ExperimentalChangeIncrementalOptionTestGenerated.java +++ b/jps-plugin/test/org/jetbrains/kotlin/jps/build/ExperimentalChangeIncrementalOptionTestGenerated.java @@ -41,6 +41,18 @@ public class ExperimentalChangeIncrementalOptionTestGenerated extends AbstractEx doTest(fileName); } + @TestMetadata("experimentalOnJavaChanged") + public void testExperimentalOnJavaChanged() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaChanged/"); + doTest(fileName); + } + + @TestMetadata("experimentalOnJavaOnly") + public void testExperimentalOnJavaOnly() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaOnly/"); + doTest(fileName); + } + @TestMetadata("experimentalOnOff") public void testExperimentalOnOff() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/"); diff --git a/jps-plugin/test/org/jetbrains/kotlin/jps/build/ExperimentalIncrementalCacheVersionChangedTestGenerated.java b/jps-plugin/test/org/jetbrains/kotlin/jps/build/ExperimentalIncrementalCacheVersionChangedTestGenerated.java index 3292698f37d..ceb8648cf91 100644 --- a/jps-plugin/test/org/jetbrains/kotlin/jps/build/ExperimentalIncrementalCacheVersionChangedTestGenerated.java +++ b/jps-plugin/test/org/jetbrains/kotlin/jps/build/ExperimentalIncrementalCacheVersionChangedTestGenerated.java @@ -35,12 +35,24 @@ public class ExperimentalIncrementalCacheVersionChangedTestGenerated extends Abs KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("jps-plugin/testData/incremental/cacheVersionChanged"), Pattern.compile("^([^\\.]+)$"), true); } + @TestMetadata("clearedHasKotlin") + public void testClearedHasKotlin() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/"); + doTest(fileName); + } + @TestMetadata("exportedModule") public void testExportedModule() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/cacheVersionChanged/exportedModule/"); doTest(fileName); } + @TestMetadata("javaOnlyModulesAreNotAffected") + public void testJavaOnlyModulesAreNotAffected() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/cacheVersionChanged/javaOnlyModulesAreNotAffected/"); + doTest(fileName); + } + @TestMetadata("module1Modified") public void testModule1Modified() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/cacheVersionChanged/module1Modified/"); @@ -71,10 +83,22 @@ public class ExperimentalIncrementalCacheVersionChangedTestGenerated extends Abs doTest(fileName); } + @TestMetadata("touchedOnlyJavaFile") + public void testTouchedOnlyJavaFile() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/cacheVersionChanged/touchedOnlyJavaFile/"); + doTest(fileName); + } + @TestMetadata("untouchedFiles") public void testUntouchedFiles() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/cacheVersionChanged/untouchedFiles/"); doTest(fileName); } + @TestMetadata("withError") + public void testWithError() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/cacheVersionChanged/withError/"); + doTest(fileName); + } + } diff --git a/jps-plugin/test/org/jetbrains/kotlin/jps/build/IncrementalCacheVersionChangedTestGenerated.java b/jps-plugin/test/org/jetbrains/kotlin/jps/build/IncrementalCacheVersionChangedTestGenerated.java index 77d283f12d3..8ca46395714 100644 --- a/jps-plugin/test/org/jetbrains/kotlin/jps/build/IncrementalCacheVersionChangedTestGenerated.java +++ b/jps-plugin/test/org/jetbrains/kotlin/jps/build/IncrementalCacheVersionChangedTestGenerated.java @@ -35,12 +35,24 @@ public class IncrementalCacheVersionChangedTestGenerated extends AbstractIncreme KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("jps-plugin/testData/incremental/cacheVersionChanged"), Pattern.compile("^([^\\.]+)$"), true); } + @TestMetadata("clearedHasKotlin") + public void testClearedHasKotlin() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/"); + doTest(fileName); + } + @TestMetadata("exportedModule") public void testExportedModule() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/cacheVersionChanged/exportedModule/"); doTest(fileName); } + @TestMetadata("javaOnlyModulesAreNotAffected") + public void testJavaOnlyModulesAreNotAffected() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/cacheVersionChanged/javaOnlyModulesAreNotAffected/"); + doTest(fileName); + } + @TestMetadata("module1Modified") public void testModule1Modified() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/cacheVersionChanged/module1Modified/"); @@ -71,10 +83,22 @@ public class IncrementalCacheVersionChangedTestGenerated extends AbstractIncreme doTest(fileName); } + @TestMetadata("touchedOnlyJavaFile") + public void testTouchedOnlyJavaFile() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/cacheVersionChanged/touchedOnlyJavaFile/"); + doTest(fileName); + } + @TestMetadata("untouchedFiles") public void testUntouchedFiles() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/cacheVersionChanged/untouchedFiles/"); doTest(fileName); } + @TestMetadata("withError") + public void testWithError() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/cacheVersionChanged/withError/"); + doTest(fileName); + } + } diff --git a/jps-plugin/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTest.kt b/jps-plugin/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTest.kt index 6940ee5df17..64194f40f8f 100644 --- a/jps-plugin/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTest.kt +++ b/jps-plugin/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTest.kt @@ -57,7 +57,8 @@ import java.io.* import java.util.* import java.util.regex.Pattern import java.util.zip.ZipOutputStream -import kotlin.test.* +import kotlin.test.assertFalse +import kotlin.test.assertTrue public class KotlinJpsBuildTest : AbstractKotlinJpsBuildTestCase() { companion object { @@ -234,7 +235,7 @@ public class KotlinJpsBuildTest : AbstractKotlinJpsBuildTestCase() { val buildResult = makeAll() buildResult.assertSuccessful() val warnings = buildResult.getMessages(BuildMessage.Kind.WARNING) - assertEquals("Warning about invalid package prefix in module 2 is expected: $warnings", 2, warnings.size) + assertEquals("Warning about invalid package prefix in module 2 is expected: $warnings", 1, warnings.size) assertEquals("Invalid package prefix name is ignored: invalid-prefix.test", warnings.first().messageText) } diff --git a/jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/build.log b/jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/build.log new file mode 100644 index 00000000000..e058b68b0ac --- /dev/null +++ b/jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/build.log @@ -0,0 +1,36 @@ +Cleaning output files: +out/production/module1/C.class +End of files +Compiling files: +module1/src/module1_C.java +End of files + + +Cleaning output files: +out/production/module1/A.class +End of files +Cleaning output files: +out/production/module1/B.class +out/production/module1/C.class +out/production/module1/D.class +End of files +Compiling files: +module1/src/module1_A.kt +module1/src/module1_B.kt +End of files +Compiling files: +module1/src/module1_C.java +module1/src/module1_D.java +End of files +Cleaning output files: +out/production/module2/E.class +End of files +Compiling files: +module2/src/module2_E.kt +End of files +Cleaning output files: +out/production/module3/F.class +End of files +Compiling files: +module3/src/module3_F.kt +End of files \ No newline at end of file diff --git a/jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/data-container-version-build.log b/jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/data-container-version-build.log new file mode 100644 index 00000000000..1e24f9e3e07 --- /dev/null +++ b/jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/data-container-version-build.log @@ -0,0 +1,36 @@ +Cleaning output files: +out/production/module1/C.class +End of files +Compiling files: +module1/src/module1_C.java +End of files + + +Cleaning output files: +out/production/module1/A.class +End of files +Cleaning output files: +out/production/module1/B.class +out/production/module1/C.class +out/production/module1/D.class +End of files +Compiling files: +module1/src/module1_A.kt +module1/src/module1_B.kt +End of files +Compiling files: +module1/src/module1_C.java +module1/src/module1_D.java +End of files +Cleaning output files: +out/production/module2/E.class +End of files +Compiling files: +module2/src/module2_E.kt +End of files +Cleaning output files: +out/production/module3/F.class +End of files +Compiling files: +module3/src/module3_F.kt +End of files diff --git a/jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/dependencies.txt b/jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/dependencies.txt new file mode 100644 index 00000000000..07917d6cffb --- /dev/null +++ b/jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/dependencies.txt @@ -0,0 +1,3 @@ +module1-> +module2->module1 +module3->module2 \ No newline at end of file diff --git a/jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/module1_A.kt b/jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/module1_A.kt new file mode 100644 index 00000000000..fb7337ede5b --- /dev/null +++ b/jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/module1_A.kt @@ -0,0 +1 @@ +class A \ No newline at end of file diff --git a/jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/module1_A.kt.touch.2 b/jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/module1_A.kt.touch.2 new file mode 100644 index 00000000000..fb7337ede5b --- /dev/null +++ b/jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/module1_A.kt.touch.2 @@ -0,0 +1 @@ +class A \ No newline at end of file diff --git a/jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/module1_B.kt b/jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/module1_B.kt new file mode 100644 index 00000000000..3e191f19471 --- /dev/null +++ b/jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/module1_B.kt @@ -0,0 +1 @@ +class B \ No newline at end of file diff --git a/jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/module1_C.java b/jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/module1_C.java new file mode 100644 index 00000000000..f9822136b3d --- /dev/null +++ b/jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/module1_C.java @@ -0,0 +1 @@ +class C {} \ No newline at end of file diff --git a/jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/module1_C.java.touch.1 b/jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/module1_C.java.touch.1 new file mode 100644 index 00000000000..f9822136b3d --- /dev/null +++ b/jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/module1_C.java.touch.1 @@ -0,0 +1 @@ +class C {} \ No newline at end of file diff --git a/jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/module1_D.java b/jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/module1_D.java new file mode 100644 index 00000000000..470ad77df60 --- /dev/null +++ b/jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/module1_D.java @@ -0,0 +1 @@ +class D {} \ No newline at end of file diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/a.kt.touch.1 b/jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/module1_clear-has-kotlin.new.1 similarity index 100% rename from jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/a.kt.touch.1 rename to jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/module1_clear-has-kotlin.new.1 diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/a.kt.touch.2 b/jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/module1_do-not-change-cache-versions.new.2 similarity index 100% rename from jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/a.kt.touch.2 rename to jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/module1_do-not-change-cache-versions.new.2 diff --git a/jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/module2_E.kt b/jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/module2_E.kt new file mode 100644 index 00000000000..83c981d6f4d --- /dev/null +++ b/jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/module2_E.kt @@ -0,0 +1 @@ +class E \ No newline at end of file diff --git a/jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/module3_F.kt b/jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/module3_F.kt new file mode 100644 index 00000000000..a6dfc0f60b1 --- /dev/null +++ b/jps-plugin/testData/incremental/cacheVersionChanged/clearedHasKotlin/module3_F.kt @@ -0,0 +1 @@ +class F \ No newline at end of file diff --git a/jps-plugin/testData/incremental/cacheVersionChanged/javaOnlyModulesAreNotAffected/build.log b/jps-plugin/testData/incremental/cacheVersionChanged/javaOnlyModulesAreNotAffected/build.log new file mode 100644 index 00000000000..fcbc03b2b32 --- /dev/null +++ b/jps-plugin/testData/incremental/cacheVersionChanged/javaOnlyModulesAreNotAffected/build.log @@ -0,0 +1,14 @@ +Cleaning output files: +out/production/module1/A.class +End of files +Compiling files: +module1/src/module1_A.java +End of files + + +Cleaning output files: +out/production/module1/B.class +End of files +Compiling files: +module1/src/module1_B.java +End of files \ No newline at end of file diff --git a/jps-plugin/testData/incremental/cacheVersionChanged/javaOnlyModulesAreNotAffected/data-container-version-build.log b/jps-plugin/testData/incremental/cacheVersionChanged/javaOnlyModulesAreNotAffected/data-container-version-build.log new file mode 100644 index 00000000000..3b6e54c1052 --- /dev/null +++ b/jps-plugin/testData/incremental/cacheVersionChanged/javaOnlyModulesAreNotAffected/data-container-version-build.log @@ -0,0 +1,14 @@ +Cleaning output files: +out/production/module1/A.class +End of files +Compiling files: +module1/src/module1_A.java +End of files + + +Cleaning output files: +out/production/module1/B.class +End of files +Compiling files: +module1/src/module1_B.java +End of files diff --git a/jps-plugin/testData/incremental/cacheVersionChanged/javaOnlyModulesAreNotAffected/dependencies.txt b/jps-plugin/testData/incremental/cacheVersionChanged/javaOnlyModulesAreNotAffected/dependencies.txt new file mode 100644 index 00000000000..0341c1ffd5c --- /dev/null +++ b/jps-plugin/testData/incremental/cacheVersionChanged/javaOnlyModulesAreNotAffected/dependencies.txt @@ -0,0 +1,3 @@ +module1-> +module2->module1 +module3->module2 diff --git a/jps-plugin/testData/incremental/cacheVersionChanged/javaOnlyModulesAreNotAffected/module1_A.java b/jps-plugin/testData/incremental/cacheVersionChanged/javaOnlyModulesAreNotAffected/module1_A.java new file mode 100644 index 00000000000..37bdd2221a7 --- /dev/null +++ b/jps-plugin/testData/incremental/cacheVersionChanged/javaOnlyModulesAreNotAffected/module1_A.java @@ -0,0 +1 @@ +class A {} \ No newline at end of file diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/a.kt.touch.1 b/jps-plugin/testData/incremental/cacheVersionChanged/javaOnlyModulesAreNotAffected/module1_A.java.touch.1 similarity index 100% rename from jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/a.kt.touch.1 rename to jps-plugin/testData/incremental/cacheVersionChanged/javaOnlyModulesAreNotAffected/module1_A.java.touch.1 diff --git a/jps-plugin/testData/incremental/cacheVersionChanged/javaOnlyModulesAreNotAffected/module1_B.java b/jps-plugin/testData/incremental/cacheVersionChanged/javaOnlyModulesAreNotAffected/module1_B.java new file mode 100644 index 00000000000..e747fd3a806 --- /dev/null +++ b/jps-plugin/testData/incremental/cacheVersionChanged/javaOnlyModulesAreNotAffected/module1_B.java @@ -0,0 +1 @@ +class B {} \ No newline at end of file diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/a.kt.touch.2 b/jps-plugin/testData/incremental/cacheVersionChanged/javaOnlyModulesAreNotAffected/module1_B.java.touch.2 similarity index 100% rename from jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/a.kt.touch.2 rename to jps-plugin/testData/incremental/cacheVersionChanged/javaOnlyModulesAreNotAffected/module1_B.java.touch.2 diff --git a/jps-plugin/testData/incremental/cacheVersionChanged/javaOnlyModulesAreNotAffected/module2_C.java b/jps-plugin/testData/incremental/cacheVersionChanged/javaOnlyModulesAreNotAffected/module2_C.java new file mode 100644 index 00000000000..f9822136b3d --- /dev/null +++ b/jps-plugin/testData/incremental/cacheVersionChanged/javaOnlyModulesAreNotAffected/module2_C.java @@ -0,0 +1 @@ +class C {} \ No newline at end of file diff --git a/jps-plugin/testData/incremental/cacheVersionChanged/module1Modified/build.log b/jps-plugin/testData/incremental/cacheVersionChanged/module1Modified/build.log index 5c6c5437904..ae0d40bb5e6 100644 --- a/jps-plugin/testData/incremental/cacheVersionChanged/module1Modified/build.log +++ b/jps-plugin/testData/incremental/cacheVersionChanged/module1Modified/build.log @@ -1,10 +1,4 @@ Cleaning output files: -out/production/module5/module5/E.class -End of files -Compiling files: -module5/src/module5_E.java -End of files -Cleaning output files: out/production/module4/module4/D.class End of files Compiling files: diff --git a/jps-plugin/testData/incremental/cacheVersionChanged/module1Modified/data-container-version-build.log b/jps-plugin/testData/incremental/cacheVersionChanged/module1Modified/data-container-version-build.log index 668b93d1243..cc625e93b1f 100644 --- a/jps-plugin/testData/incremental/cacheVersionChanged/module1Modified/data-container-version-build.log +++ b/jps-plugin/testData/incremental/cacheVersionChanged/module1Modified/data-container-version-build.log @@ -1,10 +1,4 @@ Cleaning output files: -out/production/module5/module5/E.class -End of files -Compiling files: -module5/src/module5_E.java -End of files -Cleaning output files: out/production/module4/module4/D.class End of files Compiling files: diff --git a/jps-plugin/testData/incremental/cacheVersionChanged/moduleWithConstantModified/build.log b/jps-plugin/testData/incremental/cacheVersionChanged/moduleWithConstantModified/build.log index 07ee39331d0..f7d0b6869ff 100644 --- a/jps-plugin/testData/incremental/cacheVersionChanged/moduleWithConstantModified/build.log +++ b/jps-plugin/testData/incremental/cacheVersionChanged/moduleWithConstantModified/build.log @@ -7,6 +7,8 @@ module1/src/module1_A.kt End of files Cleaning output files: out/production/module2/b/B.class +End of files +Cleaning output files: out/production/module2/b/C.class End of files Compiling files: diff --git a/jps-plugin/testData/incremental/cacheVersionChanged/touchedOnlyJavaFile/A.java b/jps-plugin/testData/incremental/cacheVersionChanged/touchedOnlyJavaFile/A.java new file mode 100644 index 00000000000..37bdd2221a7 --- /dev/null +++ b/jps-plugin/testData/incremental/cacheVersionChanged/touchedOnlyJavaFile/A.java @@ -0,0 +1 @@ +class A {} \ No newline at end of file diff --git a/jps-plugin/testData/incremental/cacheVersionChanged/touchedOnlyJavaFile/A.java.touch b/jps-plugin/testData/incremental/cacheVersionChanged/touchedOnlyJavaFile/A.java.touch new file mode 100644 index 00000000000..37bdd2221a7 --- /dev/null +++ b/jps-plugin/testData/incremental/cacheVersionChanged/touchedOnlyJavaFile/A.java.touch @@ -0,0 +1 @@ +class A {} \ No newline at end of file diff --git a/jps-plugin/testData/incremental/cacheVersionChanged/touchedOnlyJavaFile/a.kt b/jps-plugin/testData/incremental/cacheVersionChanged/touchedOnlyJavaFile/a.kt new file mode 100644 index 00000000000..9a91e164a2d --- /dev/null +++ b/jps-plugin/testData/incremental/cacheVersionChanged/touchedOnlyJavaFile/a.kt @@ -0,0 +1,5 @@ +package test + +fun f() { + other.other() +} \ No newline at end of file diff --git a/jps-plugin/testData/incremental/cacheVersionChanged/touchedOnlyJavaFile/b.kt b/jps-plugin/testData/incremental/cacheVersionChanged/touchedOnlyJavaFile/b.kt new file mode 100644 index 00000000000..f4131c37ad1 --- /dev/null +++ b/jps-plugin/testData/incremental/cacheVersionChanged/touchedOnlyJavaFile/b.kt @@ -0,0 +1,5 @@ +package test + +fun g() { + other.other() +} \ No newline at end of file diff --git a/jps-plugin/testData/incremental/cacheVersionChanged/touchedOnlyJavaFile/build.log b/jps-plugin/testData/incremental/cacheVersionChanged/touchedOnlyJavaFile/build.log new file mode 100644 index 00000000000..0070e64876a --- /dev/null +++ b/jps-plugin/testData/incremental/cacheVersionChanged/touchedOnlyJavaFile/build.log @@ -0,0 +1,17 @@ +Cleaning output files: +out/production/module/A.class +End of files +Cleaning output files: +out/production/module/META-INF/module.kotlin_module +out/production/module/other/OtherKt.class +out/production/module/test/AKt.class +out/production/module/test/BKt.class +End of files +Compiling files: +src/a.kt +src/b.kt +src/other.kt +End of files +Compiling files: +src/A.java +End of files \ No newline at end of file diff --git a/jps-plugin/testData/incremental/cacheVersionChanged/touchedOnlyJavaFile/data-container-version-build.log b/jps-plugin/testData/incremental/cacheVersionChanged/touchedOnlyJavaFile/data-container-version-build.log new file mode 100644 index 00000000000..0070e64876a --- /dev/null +++ b/jps-plugin/testData/incremental/cacheVersionChanged/touchedOnlyJavaFile/data-container-version-build.log @@ -0,0 +1,17 @@ +Cleaning output files: +out/production/module/A.class +End of files +Cleaning output files: +out/production/module/META-INF/module.kotlin_module +out/production/module/other/OtherKt.class +out/production/module/test/AKt.class +out/production/module/test/BKt.class +End of files +Compiling files: +src/a.kt +src/b.kt +src/other.kt +End of files +Compiling files: +src/A.java +End of files \ No newline at end of file diff --git a/jps-plugin/testData/incremental/cacheVersionChanged/touchedOnlyJavaFile/other.kt b/jps-plugin/testData/incremental/cacheVersionChanged/touchedOnlyJavaFile/other.kt new file mode 100644 index 00000000000..3b98ad64c05 --- /dev/null +++ b/jps-plugin/testData/incremental/cacheVersionChanged/touchedOnlyJavaFile/other.kt @@ -0,0 +1,4 @@ +package other + +fun other() { +} \ No newline at end of file diff --git a/jps-plugin/testData/incremental/cacheVersionChanged/withError/build.log b/jps-plugin/testData/incremental/cacheVersionChanged/withError/build.log new file mode 100644 index 00000000000..3f1259bdca5 --- /dev/null +++ b/jps-plugin/testData/incremental/cacheVersionChanged/withError/build.log @@ -0,0 +1,40 @@ +Cleaning output files: +out/production/module4/module4/D.class +End of files +Compiling files: +module4/src/module4_d.kt +End of files +Cleaning output files: +out/production/module1/META-INF/module1.kotlin_module +out/production/module1/module1/A.class +out/production/module1/module1/Module1_aKt.class +End of files +Cleaning output files: +out/production/module1/module1/Module1_fKt.class +End of files +Compiling files: +module1/src/module1_a.kt +module1/src/module1_f.kt +End of files +COMPILATION FAILED +Name expected + + +Compiling files: +module1/src/module1_a.kt +module1/src/module1_f.kt +End of files +Cleaning output files: +out/production/module2/META-INF/module2.kotlin_module +out/production/module2/module2/Module2_bKt.class +End of files +Compiling files: +module2/src/module2_b.kt +End of files +Cleaning output files: +out/production/module3/META-INF/module3.kotlin_module +out/production/module3/module3/Module3_cKt.class +End of files +Compiling files: +module3/src/module3_c.kt +End of files \ No newline at end of file diff --git a/jps-plugin/testData/incremental/cacheVersionChanged/withError/data-container-version-build.log b/jps-plugin/testData/incremental/cacheVersionChanged/withError/data-container-version-build.log new file mode 100644 index 00000000000..5003113aa98 --- /dev/null +++ b/jps-plugin/testData/incremental/cacheVersionChanged/withError/data-container-version-build.log @@ -0,0 +1,38 @@ +Cleaning output files: +out/production/module4/module4/D.class +End of files +Compiling files: +module4/src/module4_d.kt +End of files +Cleaning output files: +out/production/module1/META-INF/module1.kotlin_module +out/production/module1/module1/A.class +out/production/module1/module1/Module1_aKt.class +out/production/module1/module1/Module1_fKt.class +End of files +Compiling files: +module1/src/module1_a.kt +module1/src/module1_f.kt +End of files +COMPILATION FAILED +Name expected + + +Compiling files: +module1/src/module1_a.kt +module1/src/module1_f.kt +End of files +Cleaning output files: +out/production/module2/META-INF/module2.kotlin_module +out/production/module2/module2/Module2_bKt.class +End of files +Compiling files: +module2/src/module2_b.kt +End of files +Cleaning output files: +out/production/module3/META-INF/module3.kotlin_module +out/production/module3/module3/Module3_cKt.class +End of files +Compiling files: +module3/src/module3_c.kt +End of files diff --git a/jps-plugin/testData/incremental/cacheVersionChanged/withError/dependencies.txt b/jps-plugin/testData/incremental/cacheVersionChanged/withError/dependencies.txt new file mode 100644 index 00000000000..b7b899af80f --- /dev/null +++ b/jps-plugin/testData/incremental/cacheVersionChanged/withError/dependencies.txt @@ -0,0 +1,5 @@ +module1-> +module2->module1 +module3->module2 +module4-> +module5-> \ No newline at end of file diff --git a/jps-plugin/testData/incremental/cacheVersionChanged/withError/module1_a.kt b/jps-plugin/testData/incremental/cacheVersionChanged/withError/module1_a.kt new file mode 100644 index 00000000000..ae1b119fb6d --- /dev/null +++ b/jps-plugin/testData/incremental/cacheVersionChanged/withError/module1_a.kt @@ -0,0 +1,6 @@ +package module1 + +class A + +fun a() { +} diff --git a/jps-plugin/testData/incremental/cacheVersionChanged/withError/module1_a.kt.new.1 b/jps-plugin/testData/incremental/cacheVersionChanged/withError/module1_a.kt.new.1 new file mode 100644 index 00000000000..773fd8147a8 --- /dev/null +++ b/jps-plugin/testData/incremental/cacheVersionChanged/withError/module1_a.kt.new.1 @@ -0,0 +1,3 @@ +package module1 + +class diff --git a/jps-plugin/testData/incremental/cacheVersionChanged/withError/module1_a.kt.new.2 b/jps-plugin/testData/incremental/cacheVersionChanged/withError/module1_a.kt.new.2 new file mode 100644 index 00000000000..253e9fcc4f5 --- /dev/null +++ b/jps-plugin/testData/incremental/cacheVersionChanged/withError/module1_a.kt.new.2 @@ -0,0 +1,6 @@ +package module1 + +class A + +fun a() { +} \ No newline at end of file diff --git a/jps-plugin/testData/incremental/cacheVersionChanged/withError/module1_do-not-change-cache-versions.new.2 b/jps-plugin/testData/incremental/cacheVersionChanged/withError/module1_do-not-change-cache-versions.new.2 new file mode 100644 index 00000000000..e69de29bb2d diff --git a/jps-plugin/testData/incremental/cacheVersionChanged/withError/module1_f.kt b/jps-plugin/testData/incremental/cacheVersionChanged/withError/module1_f.kt new file mode 100644 index 00000000000..03ab3d24beb --- /dev/null +++ b/jps-plugin/testData/incremental/cacheVersionChanged/withError/module1_f.kt @@ -0,0 +1,3 @@ +package module1 + +fun f() {} \ No newline at end of file diff --git a/jps-plugin/testData/incremental/cacheVersionChanged/withError/module2_b.kt b/jps-plugin/testData/incremental/cacheVersionChanged/withError/module2_b.kt new file mode 100644 index 00000000000..413a8224329 --- /dev/null +++ b/jps-plugin/testData/incremental/cacheVersionChanged/withError/module2_b.kt @@ -0,0 +1,8 @@ +package module2 + +import module1.* + +fun b() { + A() + a() +} diff --git a/jps-plugin/testData/incremental/cacheVersionChanged/withError/module3_c.kt b/jps-plugin/testData/incremental/cacheVersionChanged/withError/module3_c.kt new file mode 100644 index 00000000000..3dfe95ad694 --- /dev/null +++ b/jps-plugin/testData/incremental/cacheVersionChanged/withError/module3_c.kt @@ -0,0 +1,7 @@ +package module3 + +import module2.* + +fun c() { + b() +} diff --git a/jps-plugin/testData/incremental/cacheVersionChanged/withError/module4_d.kt b/jps-plugin/testData/incremental/cacheVersionChanged/withError/module4_d.kt new file mode 100644 index 00000000000..b0747db7a0f --- /dev/null +++ b/jps-plugin/testData/incremental/cacheVersionChanged/withError/module4_d.kt @@ -0,0 +1,3 @@ +package module4 + +class D \ No newline at end of file diff --git a/jps-plugin/testData/incremental/cacheVersionChanged/withError/module5_E.java b/jps-plugin/testData/incremental/cacheVersionChanged/withError/module5_E.java new file mode 100644 index 00000000000..3f5b139b15a --- /dev/null +++ b/jps-plugin/testData/incremental/cacheVersionChanged/withError/module5_E.java @@ -0,0 +1,3 @@ +package module5; + +class E {} \ No newline at end of file diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/build.log b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/build.log index d8c11c7bcb2..bf5b1f99921 100644 --- a/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/build.log +++ b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/build.log @@ -1,26 +1,42 @@ Cleaning output files: -out/production/module/META-INF/module.kotlin_module -out/production/module/foo/A.class -out/production/module/foo/AKt.class -End of files -Cleaning output files: -out/production/module/foo/B.class -out/production/module/foo/BKt.class -out/production/module/foo/C.class -out/production/module/foo/CKt.class +out/production/module1/foo/Z.class End of files Compiling files: -src/a.kt -src/b.kt -src/c.kt +module1/src/module1_z.kt +End of files +Cleaning output files: +out/production/module2/META-INF/module2.kotlin_module +out/production/module2/foo/A.class +out/production/module2/foo/B.class +out/production/module2/foo/C.class +out/production/module2/foo/Module2_aKt.class +out/production/module2/foo/Module2_bKt.class +out/production/module2/foo/Module2_cKt.class +End of files +Compiling files: +module2/src/module2_a.kt +module2/src/module2_b.kt +module2/src/module2_c.kt +End of files +Cleaning output files: +out/production/module3/foo/D.class +End of files +Compiling files: +module3/src/module3_d.kt +End of files +Cleaning output files: +out/production/module4/foo/E.class +End of files +Compiling files: +module4/src/module4_e.kt End of files Cleaning output files: -out/production/module/META-INF/module.kotlin_module -out/production/module/foo/A.class -out/production/module/foo/AKt.class +out/production/module2/META-INF/module2.kotlin_module +out/production/module2/foo/A.class +out/production/module2/foo/Module2_aKt.class End of files Compiling files: -src/a.kt +module2/src/module2_a.kt End of files diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/dependencies.txt b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/dependencies.txt new file mode 100644 index 00000000000..698d200e129 --- /dev/null +++ b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/dependencies.txt @@ -0,0 +1,4 @@ +module1-> +module2->module1 +module3->module2 +module4->module3 diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/expected-kotlin-caches.txt b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/expected-kotlin-caches.txt index 670ef919aaa..3df952e931c 100644 --- a/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/expected-kotlin-caches.txt +++ b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/expected-kotlin-caches.txt @@ -4,10 +4,28 @@ kotlin-data-container file-to-id.tab id-to-file.tab lookups.tab -Module 'module' production +Module 'module1' production + experimental-format-version.txt + format-version.txt + proto.tab + source-to-classes.tab +Module 'module1' tests +Module 'module2' production experimental-format-version.txt format-version.txt package-parts.tab proto.tab source-to-classes.tab -Module 'module' tests +Module 'module2' tests +Module 'module3' production + experimental-format-version.txt + format-version.txt + proto.tab + source-to-classes.tab +Module 'module3' tests +Module 'module4' production + experimental-format-version.txt + format-version.txt + proto.tab + source-to-classes.tab +Module 'module4' tests \ No newline at end of file diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/module1_z.kt b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/module1_z.kt new file mode 100644 index 00000000000..37f1b9cdacd --- /dev/null +++ b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/module1_z.kt @@ -0,0 +1,3 @@ +package foo + +class Z \ No newline at end of file diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/a.kt b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/module2_a.kt similarity index 100% rename from jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/a.kt rename to jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/module2_a.kt diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/module2_a.kt.touch.1 b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/module2_a.kt.touch.1 new file mode 100644 index 00000000000..e69de29bb2d diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/module2_a.kt.touch.2 b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/module2_a.kt.touch.2 new file mode 100644 index 00000000000..e69de29bb2d diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/b.kt b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/module2_b.kt similarity index 100% rename from jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/b.kt rename to jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/module2_b.kt diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/c.kt b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/module2_c.kt similarity index 100% rename from jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/c.kt rename to jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/module2_c.kt diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/experimental-compilation.new.1 b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/module2_experimental-compilation.new.1 similarity index 100% rename from jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/experimental-compilation.new.1 rename to jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/module2_experimental-compilation.new.1 diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/module3_d.kt b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/module3_d.kt new file mode 100644 index 00000000000..92d8afd3c2f --- /dev/null +++ b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/module3_d.kt @@ -0,0 +1,3 @@ +package foo + +class D \ No newline at end of file diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/module4_e.kt b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/module4_e.kt new file mode 100644 index 00000000000..4fcb2584608 --- /dev/null +++ b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOn/module4_e.kt @@ -0,0 +1,3 @@ +package foo + +class E \ No newline at end of file diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaChanged/build.log b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaChanged/build.log new file mode 100644 index 00000000000..b81d72e61ad --- /dev/null +++ b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaChanged/build.log @@ -0,0 +1,25 @@ +Cleaning output files: +out/production/module1/META-INF/module1.kotlin_module +out/production/module1/Module1_aKt.class +End of files +Compiling files: +module1/src/module1_a.kt +End of files +Cleaning output files: +out/production/module2/B.class +out/production/module2/META-INF/module2.kotlin_module +out/production/module2/Module2_cKt.class +End of files +Compiling files: +module2/src/module2_c.kt +End of files +Compiling files: +module2/src/module2_B.java +End of files +Cleaning output files: +out/production/module3/META-INF/module3.kotlin_module +out/production/module3/Module3_dKt.class +End of files +Compiling files: +module3/src/module3_d.kt +End of files \ No newline at end of file diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaChanged/dependencies.txt b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaChanged/dependencies.txt new file mode 100644 index 00000000000..0341c1ffd5c --- /dev/null +++ b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaChanged/dependencies.txt @@ -0,0 +1,3 @@ +module1-> +module2->module1 +module3->module2 diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaChanged/expected-kotlin-caches.txt b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaChanged/expected-kotlin-caches.txt new file mode 100644 index 00000000000..76de4a21c66 --- /dev/null +++ b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaChanged/expected-kotlin-caches.txt @@ -0,0 +1,27 @@ +kotlin-data-container + data-container-format-version.txt + counters.tab + file-to-id.tab + id-to-file.tab + lookups.tab +Module 'module1' production + experimental-format-version.txt + format-version.txt + package-parts.tab + proto.tab + source-to-classes.tab +Module 'module1' tests +Module 'module2' production + experimental-format-version.txt + format-version.txt + package-parts.tab + proto.tab + source-to-classes.tab +Module 'module2' tests +Module 'module3' production + experimental-format-version.txt + format-version.txt + package-parts.tab + proto.tab + source-to-classes.tab +Module 'module3' tests \ No newline at end of file diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaChanged/module1_a.kt b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaChanged/module1_a.kt new file mode 100644 index 00000000000..71db38595a0 --- /dev/null +++ b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaChanged/module1_a.kt @@ -0,0 +1 @@ +fun a() {} \ No newline at end of file diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaChanged/module2_B.java b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaChanged/module2_B.java new file mode 100644 index 00000000000..e747fd3a806 --- /dev/null +++ b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaChanged/module2_B.java @@ -0,0 +1 @@ +class B {} \ No newline at end of file diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaChanged/module2_B.java.new b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaChanged/module2_B.java.new new file mode 100644 index 00000000000..e747fd3a806 --- /dev/null +++ b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaChanged/module2_B.java.new @@ -0,0 +1 @@ +class B {} \ No newline at end of file diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaChanged/module2_c.kt b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaChanged/module2_c.kt new file mode 100644 index 00000000000..ae6b28747fa --- /dev/null +++ b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaChanged/module2_c.kt @@ -0,0 +1 @@ +fun c() {} \ No newline at end of file diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/experimental-compilation.new.1 b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaChanged/module2_experimental-compilation.new similarity index 100% rename from jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/experimental-compilation.new.1 rename to jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaChanged/module2_experimental-compilation.new diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaChanged/module3_d.kt b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaChanged/module3_d.kt new file mode 100644 index 00000000000..eda79f72f21 --- /dev/null +++ b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaChanged/module3_d.kt @@ -0,0 +1 @@ +fun d() {} \ No newline at end of file diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaOnly/A.java b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaOnly/A.java new file mode 100644 index 00000000000..37bdd2221a7 --- /dev/null +++ b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaOnly/A.java @@ -0,0 +1 @@ +class A {} \ No newline at end of file diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaOnly/A.java.touch b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaOnly/A.java.touch new file mode 100644 index 00000000000..e69de29bb2d diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaOnly/B.java b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaOnly/B.java new file mode 100644 index 00000000000..e747fd3a806 --- /dev/null +++ b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaOnly/B.java @@ -0,0 +1 @@ +class B {} \ No newline at end of file diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaOnly/build.log b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaOnly/build.log new file mode 100644 index 00000000000..b97f58152ee --- /dev/null +++ b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaOnly/build.log @@ -0,0 +1,6 @@ +Cleaning output files: +out/production/module/A.class +End of files +Compiling files: +src/A.java +End of files diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaOnly/expected-kotlin-caches.txt b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaOnly/expected-kotlin-caches.txt new file mode 100644 index 00000000000..6feaf1a52c0 --- /dev/null +++ b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaOnly/expected-kotlin-caches.txt @@ -0,0 +1,3 @@ +kotlin-data-container +Module 'module' production +Module 'module' tests \ No newline at end of file diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/incremental-compilation.new.2 b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaOnly/experimental-compilation.new similarity index 100% rename from jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/incremental-compilation.new.2 rename to jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnJavaOnly/experimental-compilation.new diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/build.log b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/build.log index 14e7514219b..6aa1259a392 100644 --- a/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/build.log +++ b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/build.log @@ -1,47 +1,63 @@ Cleaning output files: -out/production/module/META-INF/module.kotlin_module -out/production/module/foo/A.class -out/production/module/foo/AKt.class -End of files -Cleaning output files: -out/production/module/foo/B.class -out/production/module/foo/BKt.class -out/production/module/foo/C.class -out/production/module/foo/CKt.class +out/production/module1/foo/Z.class End of files Compiling files: -src/a.kt -src/b.kt -src/c.kt +module1/src/module1_z.kt +End of files +Cleaning output files: +out/production/module2/META-INF/module2.kotlin_module +out/production/module2/foo/A.class +out/production/module2/foo/B.class +out/production/module2/foo/C.class +out/production/module2/foo/Module2_aKt.class +out/production/module2/foo/Module2_bKt.class +out/production/module2/foo/Module2_cKt.class +End of files +Compiling files: +module2/src/module2_a.kt +module2/src/module2_b.kt +module2/src/module2_c.kt +End of files +Cleaning output files: +out/production/module3/foo/D.class +End of files +Compiling files: +module3/src/module3_d.kt +End of files +Cleaning output files: +out/production/module4/foo/E.class +End of files +Compiling files: +module4/src/module4_e.kt End of files Cleaning output files: -out/production/module/META-INF/module.kotlin_module -out/production/module/foo/A.class -out/production/module/foo/AKt.class +out/production/module2/META-INF/module2.kotlin_module +out/production/module2/foo/A.class +out/production/module2/foo/Module2_aKt.class End of files Compiling files: -src/a.kt +module2/src/module2_a.kt End of files Cleaning output files: -out/production/module/META-INF/module.kotlin_module -out/production/module/foo/A.class -out/production/module/foo/AKt.class +out/production/module2/META-INF/module2.kotlin_module +out/production/module2/foo/A.class +out/production/module2/foo/Module2_aKt.class End of files Compiling files: -src/a.kt +module2/src/module2_a.kt End of files Cleaning output files: -out/production/module/META-INF/module.kotlin_module -out/production/module/foo/B.class -out/production/module/foo/BKt.class -out/production/module/foo/C.class -out/production/module/foo/CKt.class +out/production/module2/META-INF/module2.kotlin_module +out/production/module2/foo/B.class +out/production/module2/foo/C.class +out/production/module2/foo/Module2_bKt.class +out/production/module2/foo/Module2_cKt.class End of files Compiling files: -src/b.kt -src/c.kt +module2/src/module2_b.kt +module2/src/module2_c.kt End of files \ No newline at end of file diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/dependencies.txt b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/dependencies.txt new file mode 100644 index 00000000000..698d200e129 --- /dev/null +++ b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/dependencies.txt @@ -0,0 +1,4 @@ +module1-> +module2->module1 +module3->module2 +module4->module3 diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/expected-kotlin-caches.txt b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/expected-kotlin-caches.txt index 45293da7039..8d7665c25d0 100644 --- a/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/expected-kotlin-caches.txt +++ b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/expected-kotlin-caches.txt @@ -1,7 +1,22 @@ kotlin-data-container -Module 'module' production +Module 'module1' production + format-version.txt + proto.tab + source-to-classes.tab +Module 'module1' tests +Module 'module2' production format-version.txt package-parts.tab proto.tab source-to-classes.tab -Module 'module' tests +Module 'module2' tests +Module 'module3' production + format-version.txt + proto.tab + source-to-classes.tab +Module 'module3' tests +Module 'module4' production + format-version.txt + proto.tab + source-to-classes.tab +Module 'module4' tests \ No newline at end of file diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/module1_z.kt b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/module1_z.kt new file mode 100644 index 00000000000..37f1b9cdacd --- /dev/null +++ b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/module1_z.kt @@ -0,0 +1,3 @@ +package foo + +class Z \ No newline at end of file diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/a.kt b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/module2_a.kt similarity index 100% rename from jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/a.kt rename to jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/module2_a.kt diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/a.kt.new.3 b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/module2_a.kt.new.3 similarity index 100% rename from jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/a.kt.new.3 rename to jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/module2_a.kt.new.3 diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/module2_a.kt.touch.1 b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/module2_a.kt.touch.1 new file mode 100644 index 00000000000..e69de29bb2d diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/module2_a.kt.touch.2 b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/module2_a.kt.touch.2 new file mode 100644 index 00000000000..e69de29bb2d diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/b.kt b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/module2_b.kt similarity index 100% rename from jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/b.kt rename to jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/module2_b.kt diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/c.kt b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/module2_c.kt similarity index 100% rename from jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/c.kt rename to jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/module2_c.kt diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/module2_experimental-compilation.new.1 b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/module2_experimental-compilation.new.1 new file mode 100644 index 00000000000..e8fd903040e --- /dev/null +++ b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/module2_experimental-compilation.new.1 @@ -0,0 +1 @@ +on \ No newline at end of file diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/experimental-compilation.new.2 b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/module2_experimental-compilation.new.2 similarity index 100% rename from jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/experimental-compilation.new.2 rename to jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/module2_experimental-compilation.new.2 diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/module3_d.kt b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/module3_d.kt new file mode 100644 index 00000000000..92d8afd3c2f --- /dev/null +++ b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/module3_d.kt @@ -0,0 +1,3 @@ +package foo + +class D \ No newline at end of file diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/module4_e.kt b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/module4_e.kt new file mode 100644 index 00000000000..4fcb2584608 --- /dev/null +++ b/jps-plugin/testData/incremental/changeIncrementalOption/experimentalOnOff/module4_e.kt @@ -0,0 +1,3 @@ +package foo + +class E \ No newline at end of file diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/build.log b/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/build.log index a7f60bb8342..541295aab83 100644 --- a/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/build.log +++ b/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/build.log @@ -1,20 +1,20 @@ Cleaning output files: -out/production/module/META-INF/module.kotlin_module -out/production/module/foo/AKt.class +out/production/module2/META-INF/module2.kotlin_module +out/production/module2/foo/Module2_aKt.class End of files Compiling files: -src/a.kt -src/b.kt -src/c.kt +module2/src/module2_a.kt +module2/src/module2_b.kt +module2/src/module2_c.kt End of files Cleaning output files: -out/production/module/META-INF/module.kotlin_module -out/production/module/foo/AKt.class +out/production/module2/META-INF/module2.kotlin_module +out/production/module2/foo/Module2_aKt.class End of files Compiling files: -src/a.kt -src/b.kt -src/c.kt +module2/src/module2_a.kt +module2/src/module2_b.kt +module2/src/module2_c.kt End of files \ No newline at end of file diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/dependencies.txt b/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/dependencies.txt new file mode 100644 index 00000000000..698d200e129 --- /dev/null +++ b/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/dependencies.txt @@ -0,0 +1,4 @@ +module1-> +module2->module1 +module3->module2 +module4->module3 diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/expected-kotlin-caches.txt b/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/expected-kotlin-caches.txt index f265ca29bf5..e273e094704 100644 --- a/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/expected-kotlin-caches.txt +++ b/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/expected-kotlin-caches.txt @@ -1,3 +1,9 @@ kotlin-data-container -Module 'module' production -Module 'module' tests +Module 'module1' production +Module 'module1' tests +Module 'module2' production +Module 'module2' tests +Module 'module3' production +Module 'module3' tests +Module 'module4' production +Module 'module4' tests \ No newline at end of file diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/module1_z.kt b/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/module1_z.kt new file mode 100644 index 00000000000..37f1b9cdacd --- /dev/null +++ b/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/module1_z.kt @@ -0,0 +1,3 @@ +package foo + +class Z \ No newline at end of file diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/a.kt b/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/module2_a.kt similarity index 100% rename from jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/a.kt rename to jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/module2_a.kt diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/a.kt.new.1 b/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/module2_a.kt.new.1 similarity index 100% rename from jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/a.kt.new.1 rename to jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/module2_a.kt.new.1 diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/a.kt.new.2 b/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/module2_a.kt.new.2 similarity index 100% rename from jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/a.kt.new.2 rename to jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/module2_a.kt.new.2 diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/b.kt b/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/module2_b.kt similarity index 100% rename from jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/b.kt rename to jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/module2_b.kt diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/c.kt b/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/module2_c.kt similarity index 100% rename from jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/c.kt rename to jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/module2_c.kt diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/incremental-compilation.new.1 b/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/module2_incremental-compilation.new.1 similarity index 100% rename from jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/incremental-compilation.new.1 rename to jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/module2_incremental-compilation.new.1 diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/module3_d.kt b/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/module3_d.kt new file mode 100644 index 00000000000..92d8afd3c2f --- /dev/null +++ b/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/module3_d.kt @@ -0,0 +1,3 @@ +package foo + +class D \ No newline at end of file diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/module4_e.kt b/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/module4_e.kt new file mode 100644 index 00000000000..4fcb2584608 --- /dev/null +++ b/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOff/module4_e.kt @@ -0,0 +1,3 @@ +package foo + +class E \ No newline at end of file diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/build.log b/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/build.log index 0286adad1d0..d9957c7d841 100644 --- a/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/build.log +++ b/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/build.log @@ -1,40 +1,56 @@ Cleaning output files: -out/production/module/META-INF/module.kotlin_module -out/production/module/foo/AKt.class +out/production/module2/META-INF/module2.kotlin_module +out/production/module2/foo/Module2_aKt.class End of files Compiling files: -src/a.kt -src/b.kt -src/c.kt +module2/src/module2_a.kt +module2/src/module2_b.kt +module2/src/module2_c.kt End of files Cleaning output files: -out/production/module/META-INF/module.kotlin_module -out/production/module/foo/AKt.class -End of files -Cleaning output files: -out/production/module/foo/BKt.class -out/production/module/foo/CKt.class +out/production/module1/foo/Z.class End of files Compiling files: -src/a.kt -src/b.kt -src/c.kt +module1/src/module1_z.kt +End of files +Cleaning output files: +out/production/module2/META-INF/module2.kotlin_module +out/production/module2/foo/Module2_aKt.class +out/production/module2/foo/Module2_bKt.class +out/production/module2/foo/Module2_cKt.class +End of files +Compiling files: +module2/src/module2_a.kt +module2/src/module2_b.kt +module2/src/module2_c.kt +End of files +Cleaning output files: +out/production/module3/foo/D.class +End of files +Compiling files: +module3/src/module3_d.kt +End of files +Cleaning output files: +out/production/module4/foo/E.class +End of files +Compiling files: +module4/src/module4_e.kt End of files Cleaning output files: -out/production/module/META-INF/module.kotlin_module -out/production/module/foo/AKt.class +out/production/module2/META-INF/module2.kotlin_module +out/production/module2/foo/Module2_aKt.class End of files Compiling files: -src/a.kt +module2/src/module2_a.kt End of files Cleaning output files: -out/production/module/META-INF/module.kotlin_module -out/production/module/foo/BKt.class +out/production/module2/META-INF/module2.kotlin_module +out/production/module2/foo/Module2_bKt.class End of files Compiling files: -src/b.kt +module2/src/module2_b.kt End of files \ No newline at end of file diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/dependencies.txt b/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/dependencies.txt new file mode 100644 index 00000000000..698d200e129 --- /dev/null +++ b/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/dependencies.txt @@ -0,0 +1,4 @@ +module1-> +module2->module1 +module3->module2 +module4->module3 diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/expected-kotlin-caches.txt b/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/expected-kotlin-caches.txt index 744c17b4cdc..982cd0121bb 100644 --- a/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/expected-kotlin-caches.txt +++ b/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/expected-kotlin-caches.txt @@ -1,9 +1,24 @@ kotlin-data-container -Module 'module' production +Module 'module1' production + format-version.txt + proto.tab + source-to-classes.tab +Module 'module1' tests +Module 'module2' production format-version.txt inline-functions.tab inlined-to.tab package-parts.tab proto.tab source-to-classes.tab -Module 'module' tests +Module 'module2' tests +Module 'module3' production + format-version.txt + proto.tab + source-to-classes.tab +Module 'module3' tests +Module 'module4' production + format-version.txt + proto.tab + source-to-classes.tab +Module 'module4' tests \ No newline at end of file diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/module1_z.kt b/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/module1_z.kt new file mode 100644 index 00000000000..37f1b9cdacd --- /dev/null +++ b/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/module1_z.kt @@ -0,0 +1,3 @@ +package foo + +class Z \ No newline at end of file diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/a.kt b/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/module2_a.kt similarity index 100% rename from jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/a.kt rename to jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/module2_a.kt diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/a.kt.new.1 b/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/module2_a.kt.new.1 similarity index 100% rename from jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/a.kt.new.1 rename to jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/module2_a.kt.new.1 diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/a.kt.new.2 b/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/module2_a.kt.new.2 similarity index 100% rename from jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/a.kt.new.2 rename to jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/module2_a.kt.new.2 diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/a.kt.new.3 b/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/module2_a.kt.new.3 similarity index 100% rename from jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/a.kt.new.3 rename to jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/module2_a.kt.new.3 diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/b.kt b/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/module2_b.kt similarity index 100% rename from jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/b.kt rename to jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/module2_b.kt diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/c.kt b/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/module2_c.kt similarity index 100% rename from jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/c.kt rename to jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/module2_c.kt diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/incremental-compilation.new.1 b/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/module2_incremental-compilation.new.1 similarity index 100% rename from jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/incremental-compilation.new.1 rename to jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/module2_incremental-compilation.new.1 diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/module2_incremental-compilation.new.2 b/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/module2_incremental-compilation.new.2 new file mode 100644 index 00000000000..e8fd903040e --- /dev/null +++ b/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/module2_incremental-compilation.new.2 @@ -0,0 +1 @@ +on \ No newline at end of file diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/module3_d.kt b/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/module3_d.kt new file mode 100644 index 00000000000..92d8afd3c2f --- /dev/null +++ b/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/module3_d.kt @@ -0,0 +1,3 @@ +package foo + +class D \ No newline at end of file diff --git a/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/module4_e.kt b/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/module4_e.kt new file mode 100644 index 00000000000..4fcb2584608 --- /dev/null +++ b/jps-plugin/testData/incremental/changeIncrementalOption/incrementalOffOn/module4_e.kt @@ -0,0 +1,3 @@ +package foo + +class E \ No newline at end of file diff --git a/jps-plugin/testData/incremental/lazyKotlinCaches/noKotlin/expected-kotlin-caches.txt b/jps-plugin/testData/incremental/lazyKotlinCaches/noKotlin/expected-kotlin-caches.txt index a1c4ec77902..6feaf1a52c0 100644 --- a/jps-plugin/testData/incremental/lazyKotlinCaches/noKotlin/expected-kotlin-caches.txt +++ b/jps-plugin/testData/incremental/lazyKotlinCaches/noKotlin/expected-kotlin-caches.txt @@ -1,4 +1,3 @@ kotlin-data-container Module 'module' production - format-version.txt Module 'module' tests \ No newline at end of file diff --git a/jps-plugin/testData/incremental/lazyKotlinCaches/noKotlin/experimental-expected-kotlin-caches.txt b/jps-plugin/testData/incremental/lazyKotlinCaches/noKotlin/experimental-expected-kotlin-caches.txt index ec62512a8c7..6feaf1a52c0 100644 --- a/jps-plugin/testData/incremental/lazyKotlinCaches/noKotlin/experimental-expected-kotlin-caches.txt +++ b/jps-plugin/testData/incremental/lazyKotlinCaches/noKotlin/experimental-expected-kotlin-caches.txt @@ -1,6 +1,3 @@ kotlin-data-container - data-container-format-version.txt Module 'module' production - experimental-format-version.txt - format-version.txt -Module 'module' tests +Module 'module' tests \ No newline at end of file