diff --git a/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalJpsTest.kt b/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalJpsTest.kt index 78b304d0c24..bf13eb122fb 100644 --- a/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalJpsTest.kt +++ b/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalJpsTest.kt @@ -38,22 +38,25 @@ import org.jetbrains.jps.builders.logging.BuildLoggingManager import org.jetbrains.jps.cmdline.ProjectDescriptor import org.jetbrains.jps.incremental.* import org.jetbrains.jps.incremental.messages.BuildMessage +import org.jetbrains.jps.model.JpsDummyElement import org.jetbrains.jps.model.JpsModuleRootModificationUtil -import org.jetbrains.jps.model.java.JpsJavaDependencyScope import org.jetbrains.jps.model.java.JpsJavaExtensionService +import org.jetbrains.jps.model.library.sdk.JpsSdk import org.jetbrains.jps.util.JpsPathUtil import org.jetbrains.kotlin.config.IncrementalCompilation import org.jetbrains.kotlin.incremental.LookupSymbol import org.jetbrains.kotlin.incremental.storage.version.CacheAttributesDiff import org.jetbrains.kotlin.incremental.storage.version.CacheVersionManager import org.jetbrains.kotlin.incremental.testingUtils.* +import org.jetbrains.kotlin.jps.build.dependeciestxt.DependenciesTxtBuilder +import org.jetbrains.kotlin.jps.build.dependeciestxt.ModulesTxt import org.jetbrains.kotlin.jps.incremental.CompositeLookupsCacheAttributesManager import org.jetbrains.kotlin.jps.incremental.getKotlinCache import org.jetbrains.kotlin.jps.incremental.withLookupStorage +import org.jetbrains.kotlin.jps.model.JpsKotlinFacetModuleExtension import org.jetbrains.kotlin.jps.targets.KotlinModuleBuildTarget import org.jetbrains.kotlin.test.KotlinTestUtils import org.jetbrains.kotlin.utils.Printer -import org.jetbrains.kotlin.utils.keysToMap import java.io.ByteArrayInputStream import java.io.ByteArrayOutputStream import java.io.File @@ -247,20 +250,11 @@ abstract class AbstractIncrementalJpsTest( rebuildAndCheckOutput(makeOverallResult) } - private fun readModuleDependencies(): Map>? { - val dependenciesTxt = File(testDataDir, "dependencies.txt") - if (!dependenciesTxt.exists()) return null + private fun readModulesConfig(): ModulesTxt? { + val dependenciesTxtFile = File(testDataDir, "dependencies.txt") + if (!dependenciesTxtFile.exists()) return null - val result = HashMap>() - for (line in dependenciesTxt.readLines()) { - val split = line.split("->") - val module = split[0] - val dependencies = if (split.size > 1) split[1] else "" - val dependencyList = dependencies.split(",").filterNot { it.isEmpty() } - result[module] = dependencyList.map(::parseDependency) - } - - return result + return DependenciesTxtBuilder().readFile(dependenciesTxtFile) } protected open fun createBuildLog(incrementalMakeResults: List): String = @@ -277,10 +271,10 @@ abstract class AbstractIncrementalJpsTest( workDir = FileUtilRt.createTempDirectory(TEMP_DIRECTORY_TO_USE, "jps-build", null) Disposer.register(testRootDisposable, Disposable { FileUtilRt.delete(workDir) }) - val moduleNames = configureModules() + val modulesTxt = configureModules() initialMake() - val otherMakeResults = performModificationsAndMake(moduleNames) + val otherMakeResults = performModificationsAndMake(modulesTxt?.modules?.map { it.name }) val buildLogFile = buildLogFinder.findBuildLog(testDataDir) val logs = createBuildLog(otherMakeResults) @@ -371,7 +365,7 @@ abstract class AbstractIncrementalJpsTest( protected data class MakeResult(val log: String, val makeFailed: Boolean, val mappingsDump: String?) - private fun performModificationsAndMake(moduleNames: Set?): List { + private fun performModificationsAndMake(moduleNames: Collection?): List { val results = arrayListOf() val modifications = getModificationsToPerform(testDataDir, moduleNames, allowNoFilesWithSuffixInTestData, TouchPolicy.TIMESTAMP) @@ -393,55 +387,71 @@ abstract class AbstractIncrementalJpsTest( } // null means one module - private fun configureModules(): Set? { - fun prepareModuleSources(moduleName: String?) { - val sourceDirName = moduleName?.let { "$it/src" } ?: "src" - val filePrefix = moduleName?.let { "${it}_" } ?: "" - val sourceDestinationDir = File(workDir, sourceDirName) - val sourcesMapping = copyTestSources(testDataDir, sourceDestinationDir, filePrefix) - mapWorkingToOriginalFile.putAll(sourcesMapping) - preProcessSources(sourceDestinationDir) - } - + private fun configureModules(): ModulesTxt? { JpsJavaExtensionService.getInstance().getOrCreateProjectExtension(myProject).outputUrl = JpsPathUtil.pathToUrl(getAbsolutePath("out")) val jdk = addJdk("my jdk") - val moduleDependencies = readModuleDependencies() + val moduleDependencies = readModulesConfig() mapWorkingToOriginalFile = hashMapOf() - val moduleNames: Set? - if (moduleDependencies == null) { - addModule("module", arrayOf(getAbsolutePath("src")), null, null, jdk) - prepareModuleSources(moduleName = null) - moduleNames = null - } else { - val nameToModule = moduleDependencies.keys - .keysToMap { addModule(it, arrayOf(getAbsolutePath("$it/src")), null, null, jdk)!! } + if (moduleDependencies == null) configureSingleModuleProject(jdk) + else configureMultiModuleProject(moduleDependencies, jdk) - for ((moduleName, dependencies) in moduleDependencies) { - val module = nameToModule[moduleName]!! + addStdlib() - for (dependency in dependencies) { - JpsModuleRootModificationUtil.addDependency( - module, nameToModule[dependency.name], - JpsJavaDependencyScope.COMPILE, dependency.exported - ) - } - } - - for (module in nameToModule.values) { - prepareModuleSources(module.name) - } - - moduleNames = nameToModule.keys - } - - configureDependencies() - return moduleNames + return moduleDependencies } - protected open fun configureDependencies() { + private fun configureSingleModuleProject(jdk: JpsSdk?) { + addModule("module", arrayOf(getAbsolutePath("src")), null, null, jdk) + + val sourceDestinationDir = File(workDir, "src") + val sourcesMapping = copyTestSources(testDataDir, File(workDir, "src"), "") + mapWorkingToOriginalFile.putAll(sourcesMapping) + + preProcessSources(sourceDestinationDir) + } + + private fun configureMultiModuleProject( + moduleDependencies: ModulesTxt, + jdk: JpsSdk? + ) { + moduleDependencies.modules.forEach { module -> + module.jpsModule = addModule( + module.name, + arrayOf(getAbsolutePath("${module.name}/src")), + null, + null, + jdk + )!! + + val kotlinFacetSettings = module.kotlinFacetSettings + if (kotlinFacetSettings != null) { + module.jpsModule.container.setChild( + JpsKotlinFacetModuleExtension.KIND, + JpsKotlinFacetModuleExtension(kotlinFacetSettings!!) + ) + } + + val sourceDirName = "${module.name}/src" + val filePrefix = "${module.name}_" + val sourceDestinationDir = File(workDir, sourceDirName) + val sourcesMapping = copyTestSources(testDataDir, sourceDestinationDir, filePrefix) + mapWorkingToOriginalFile.putAll(sourcesMapping) + + preProcessSources(sourceDestinationDir) + } + + moduleDependencies.dependencies.forEach { + JpsModuleRootModificationUtil.addDependency( + it.from.jpsModule, it.to.jpsModule, + it.scope, it.exported + ) + } + } + + protected open fun addStdlib() { AbstractKotlinJpsBuildTestCase.addKotlinStdlibDependency(myProject) AbstractKotlinJpsBuildTestCase.addKotlinTestDependency(myProject) } diff --git a/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalJsJpsTest.kt b/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalJsJpsTest.kt index cd5b8c5582e..622b0e00626 100644 --- a/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalJsJpsTest.kt +++ b/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalJsJpsTest.kt @@ -24,7 +24,7 @@ abstract class AbstractIncrementalJsJpsTest : AbstractIncrementalJpsTest() { super.tearDown() } - override fun configureDependencies() { + override fun addStdlib() { AbstractKotlinJpsBuildTestCase.addKotlinJavaScriptStdlibDependency(myProject) } diff --git a/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractMultiplatformJpsTest.kt b/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractMultiplatformJpsTest.kt index 7b7212ffe11..bcfdbfb6e2b 100644 --- a/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractMultiplatformJpsTest.kt +++ b/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractMultiplatformJpsTest.kt @@ -5,10 +5,6 @@ package org.jetbrains.kotlin.jps.build -import org.jetbrains.kotlin.jps.build.dependeciestxt.DependenciesTxt -import org.jetbrains.kotlin.jps.build.dependeciestxt.MppJpsIncTestsGenerator -import java.io.File - abstract class AbstractMultiplatformJpsTest : AbstractIncrementalJpsTest() { override fun doTest(testDataPath: String) { // temporary ignore jps-plugin/testData/incremental/multiplatform/multiModule tests diff --git a/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/dependeciestxt/DependenciesTxt.kt b/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/dependeciestxt/ModulesTxt.kt similarity index 84% rename from jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/dependeciestxt/DependenciesTxt.kt rename to jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/dependeciestxt/ModulesTxt.kt index 16433b32702..ed939a53383 100644 --- a/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/dependeciestxt/DependenciesTxt.kt +++ b/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/dependeciestxt/ModulesTxt.kt @@ -6,6 +6,7 @@ package org.jetbrains.kotlin.jps.build.dependeciestxt import org.jetbrains.jps.model.java.JpsJavaDependencyScope +import org.jetbrains.jps.model.module.JpsModule import org.jetbrains.kotlin.cli.common.arguments.K2JSCompilerArguments import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments import org.jetbrains.kotlin.cli.common.arguments.K2MetadataCompilerArguments @@ -22,7 +23,7 @@ import kotlin.reflect.full.memberProperties * Dependencies description file. * See [README.md] for more details. */ -data class DependenciesTxt( +data class ModulesTxt( val file: File, val fileName: String, val modules: List, @@ -62,6 +63,8 @@ data class DependenciesTxt( @Flag var editExpectActual: Boolean = false + lateinit var jpsModule: JpsModule + companion object { val flags: Map> = Module::class.memberProperties .filter { it.findAnnotation() != null } @@ -98,17 +101,20 @@ class DependenciesTxtBuilder { */ class ModuleRef(name: String) { var defined: Boolean = false - var actual: DependenciesTxt.Module = DependenciesTxt.Module(name) + var actual: ModulesTxt.Module = ModulesTxt.Module(name) override fun toString() = actual.name - fun build(index: Int): DependenciesTxt.Module { + fun build(index: Int): ModulesTxt.Module { val result = actual result.index = index val kotlinFacetSettings = result.kotlinFacetSettings if (kotlinFacetSettings != null) { kotlinFacetSettings.implementedModuleNames = - result.dependencies.filter { it.expectedBy }.map { it.to.name } + result.dependencies.asSequence() + .filter { it.expectedBy } + .map { it.to.name } + .toList() } return result } @@ -124,20 +130,20 @@ class DependenciesTxtBuilder { val expectedBy: Boolean, val exported: Boolean ) { - fun build(): DependenciesTxt.Dependency { + fun build(): ModulesTxt.Dependency { if (expectedBy) check(to.actual.isCommonModule) { "$this: ${to.actual} is not common module" } - return DependenciesTxt.Dependency(from.actual, to.actual, scope, expectedBy, exported) + return ModulesTxt.Dependency(from.actual, to.actual, scope, expectedBy, exported) } } - fun readFile(file: File, fileTitle: String = file.toString()): DependenciesTxt { + fun readFile(file: File, fileTitle: String = file.toString()): ModulesTxt { file.forEachLine { line -> parseDeclaration(line) } // module.build() requires built dependencies val dependencies = dependencies.map { it.build() } - return DependenciesTxt( + return ModulesTxt( file, fileTitle, modules.values.mapIndexed { index, moduleRef -> moduleRef.build(index) }, @@ -190,10 +196,10 @@ class DependenciesTxtBuilder { private fun moduleRef(name: String) = modules.getOrPut(name) { ModuleRef(name) } - private fun newModule(def: ValueWithFlags): DependenciesTxt.Module { + private fun newModule(def: ValueWithFlags): ModulesTxt.Module { val name = def.value.trim() - val module = DependenciesTxt.Module(name) + val module = ModulesTxt.Module(name) val kotlinFacetSettings = KotlinFacetSettings() module.kotlinFacetSettings = kotlinFacetSettings @@ -213,7 +219,7 @@ class DependenciesTxtBuilder { "jvm" -> kotlinFacetSettings.compilerArguments = K2JVMCompilerArguments() "js" -> kotlinFacetSettings.compilerArguments = K2JSCompilerArguments() else -> { - val flagProperty = DependenciesTxt.Module.flags[flag] + val flagProperty = ModulesTxt.Module.flags[flag] if (flagProperty != null) flagProperty.set(module, true) else error("Unknown module flag `$flag`") } @@ -236,16 +242,21 @@ class DependenciesTxtBuilder { return null } else { var exported = false - var scope = JpsJavaDependencyScope.COMPILE + var scope: JpsJavaDependencyScope? = null var expectedBy = false + fun setScope(newScope: JpsJavaDependencyScope) { + check(scope == null) { "`$this: $from -> $to` dependency is already flagged as $scope" } + scope = newScope + } + flags.forEach { flag -> when (flag) { "exported" -> exported = true - "compile" -> scope = JpsJavaDependencyScope.COMPILE - "test" -> scope = JpsJavaDependencyScope.TEST - "runtime" -> scope = JpsJavaDependencyScope.RUNTIME - "provided" -> scope = JpsJavaDependencyScope.PROVIDED + "compile" -> setScope(JpsJavaDependencyScope.COMPILE) + "test" -> setScope(JpsJavaDependencyScope.TEST) + "runtime" -> setScope(JpsJavaDependencyScope.RUNTIME) + "provided" -> setScope(JpsJavaDependencyScope.PROVIDED) "expectedBy" -> expectedBy = true else -> error("Unknown dependency flag `$flag`") } @@ -254,7 +265,7 @@ class DependenciesTxtBuilder { return DependencyBuilder( from = moduleRef(from), to = moduleRef(to), - scope = scope, + scope = scope ?: JpsJavaDependencyScope.COMPILE, expectedBy = expectedBy, exported = exported ).also { diff --git a/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/dependeciestxt/MppJpsIncTestsGenerator.kt b/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/dependeciestxt/MppJpsIncTestsGenerator.kt index 2e73598e607..0d959460ccd 100644 --- a/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/dependeciestxt/MppJpsIncTestsGenerator.kt +++ b/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/dependeciestxt/MppJpsIncTestsGenerator.kt @@ -25,8 +25,8 @@ fun actualizeMppJpsIncTestCaseDirs(rootDir: String, dir: String) { return } -class MppJpsIncTestsGenerator(val txt: DependenciesTxt, val testCaseDirProvider: (TestCase) -> File) { - val DependenciesTxt.Module.capitalName get() = name.capitalize() +class MppJpsIncTestsGenerator(val txt: ModulesTxt, val testCaseDirProvider: (TestCase) -> File) { + val ModulesTxt.Module.capitalName get() = name.capitalize() val testCases: List @@ -84,15 +84,15 @@ class MppJpsIncTestsGenerator(val txt: DependenciesTxt, val testCaseDirProvider: } data class ModuleContentSettings( - val module: DependenciesTxt.Module, + val module: ModulesTxt.Module, val serviceNameSuffix: String = "", - val generateActualDeclarationsFor: List = module.expectedBy.map { it.to }, + val generateActualDeclarationsFor: List = module.expectedBy.map { it.to }, val generatePlatformDependent: Boolean = true, var generateKtFile: Boolean = true, var generateJavaFile: Boolean = true ) - inner class EditingTestCase(val module: DependenciesTxt.Module, val changeJavaClass: Boolean) : TestCase() { + inner class EditingTestCase(val module: ModulesTxt.Module, val changeJavaClass: Boolean) : TestCase() { override val name: String = if (changeJavaClass) "editing${module.capitalName}Java" else "editing${module.capitalName}Kotlin" @@ -171,7 +171,7 @@ class MppJpsIncTestsGenerator(val txt: DependenciesTxt, val testCaseDirProvider: } - inner class EditingExpectActualTestCase(val commonModule: DependenciesTxt.Module) : TestCase() { + inner class EditingExpectActualTestCase(val commonModule: ModulesTxt.Module) : TestCase() { override val name: String = "editing${commonModule.capitalName}ExpectActual" override val dir: File = testCaseDirProvider(this) @@ -244,7 +244,7 @@ class MppJpsIncTestsGenerator(val txt: DependenciesTxt, val testCaseDirProvider: abstract val dir: File - private val modules = mutableMapOf() + private val modules = mutableMapOf() var step = 1 val steps = mutableListOf() @@ -255,7 +255,7 @@ class MppJpsIncTestsGenerator(val txt: DependenciesTxt, val testCaseDirProvider: step++ } - var DependenciesTxt.Module.contentsSettings: ModuleContentSettings + var ModulesTxt.Module.contentsSettings: ModuleContentSettings get() = modules.getOrPut(this) { ModuleContentSettings(this) } set(value) { modules[this] = value @@ -273,7 +273,7 @@ class MppJpsIncTestsGenerator(val txt: DependenciesTxt, val testCaseDirProvider: } } - private fun generateModuleContents(module: DependenciesTxt.Module) { + private fun generateModuleContents(module: ModulesTxt.Module) { when { module.isCommonModule -> { // common module @@ -290,13 +290,13 @@ class MppJpsIncTestsGenerator(val txt: DependenciesTxt, val testCaseDirProvider: } } - private val DependenciesTxt.Module.serviceName + private val ModulesTxt.Module.serviceName get() = "$capitalName${contentsSettings.serviceNameSuffix}" - private val DependenciesTxt.Module.javaClassName + private val ModulesTxt.Module.javaClassName get() = "${serviceName}JavaClass" - protected fun serviceKtFile(module: DependenciesTxt.Module, fileNameSuffix: String = ""): File { + protected fun serviceKtFile(module: ModulesTxt.Module, fileNameSuffix: String = ""): File { val suffix = if (module.isCommonModule) "${module.serviceName}Header" else "${module.name.capitalize()}${module.contentsSettings.serviceNameSuffix}Impl" @@ -304,30 +304,30 @@ class MppJpsIncTestsGenerator(val txt: DependenciesTxt, val testCaseDirProvider: return File(dir, "${module.indexedName}_service$suffix.kt$fileNameSuffix") } - fun serviceJavaFile(module: DependenciesTxt.Module, fileNameSuffix: String = ""): File { + fun serviceJavaFile(module: ModulesTxt.Module, fileNameSuffix: String = ""): File { return File(dir, "${module.indexedName}_${module.javaClassName}.java$fileNameSuffix") } - private val DependenciesTxt.Module.platformDependentFunName: String + private val ModulesTxt.Module.platformDependentFunName: String get() { check(isCommonModule) return "${name}_platformDependent$serviceName" } - private val DependenciesTxt.Module.platformIndependentFunName: String + private val ModulesTxt.Module.platformIndependentFunName: String get() { check(isCommonModule) return "${name}_platformIndependent$serviceName" } - private val DependenciesTxt.Module.platformOnlyFunName: String + private val ModulesTxt.Module.platformOnlyFunName: String get() { // platformOnly fun names already unique, so no module name prefix required return "${name}_platformOnly${contentsSettings.serviceNameSuffix}" } protected fun generateCommonFile( - module: DependenciesTxt.Module, + module: ModulesTxt.Module, fileNameSuffix: String = "" ) { val settings = module.contentsSettings @@ -343,7 +343,7 @@ class MppJpsIncTestsGenerator(val txt: DependenciesTxt, val testCaseDirProvider: } protected fun generatePlatformFile( - module: DependenciesTxt.Module, + module: ModulesTxt.Module, fileNameSuffix: String = "" ) { val isJvm = module.isJvmModule @@ -386,7 +386,7 @@ class MppJpsIncTestsGenerator(val txt: DependenciesTxt, val testCaseDirProvider: // call all functions declared in this module and all of its dependencies recursively private fun StringBuilder.appendTestFun( - module: DependenciesTxt.Module, + module: ModulesTxt.Module, settings: ModuleContentSettings ) { appendln() @@ -414,8 +414,8 @@ class MppJpsIncTestsGenerator(val txt: DependenciesTxt, val testCaseDirProvider: appendln("}") } - private fun DependenciesTxt.Module.collectDependenciesRecursivelyTo( - collection: MutableCollection, + private fun ModulesTxt.Module.collectDependenciesRecursivelyTo( + collection: MutableCollection, exportedOnly: Boolean = false ) { dependencies.forEach { diff --git a/jps-plugin/testData/incremental/cacheVersionChanged/module1Modified/build.log b/jps-plugin/testData/incremental/cacheVersionChanged/module1Modified/build.log index 9d3d93f00fd..c383de7a98b 100644 --- a/jps-plugin/testData/incremental/cacheVersionChanged/module1Modified/build.log +++ b/jps-plugin/testData/incremental/cacheVersionChanged/module1Modified/build.log @@ -1,5 +1,21 @@ ================ Step #1 ================= +Building module5 +Exit code: NOTHING_DONE +------------------------------------------ +Building module4 +Local cache for KotlinChunk(Module 'module4' production) are INVALID: actual=CacheVersion(version=777) -> expected=CacheVersion(version=9011001) +Marked as dirty by Kotlin: + module4/src/d.kt +Cleaning output files: + out/production/module4/META-INF/module4.kotlin_module + out/production/module4/module4/D.class +End of files +Compiling files: + module4/src/d.kt +End of files +Exit code: OK +------------------------------------------ Building module1 Local cache for KotlinChunk(Module 'module1' production) are INVALID: actual=CacheVersion(version=777) -> expected=CacheVersion(version=9011001) Marked as dirty by Kotlin: @@ -39,20 +55,4 @@ Compiling files: module3/src/c.kt End of files Exit code: OK ------------------------------------------- -Building module4 -Local cache for KotlinChunk(Module 'module4' production) are INVALID: actual=CacheVersion(version=777) -> expected=CacheVersion(version=9011001) -Marked as dirty by Kotlin: - module4/src/d.kt -Cleaning output files: - out/production/module4/META-INF/module4.kotlin_module - out/production/module4/module4/D.class -End of files -Compiling files: - module4/src/d.kt -End of files -Exit code: OK ------------------------------------------- -Building module5 -Exit code: NOTHING_DONE ------------------------------------------ \ No newline at end of file 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 894814e7db8..2f2fc99416f 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 @@ -6,6 +6,19 @@ Marked as dirty by Kotlin: module2/src/b.kt module3/src/c.kt module4/src/d.kt +Building module5 +Exit code: NOTHING_DONE +------------------------------------------ +Building module4 +Cleaning output files: + out/production/module4/META-INF/module4.kotlin_module + out/production/module4/module4/D.class +End of files +Compiling files: + module4/src/d.kt +End of files +Exit code: OK +------------------------------------------ Building module1 Cleaning output files: out/production/module1/META-INF/module1.kotlin_module @@ -36,17 +49,4 @@ Compiling files: module3/src/c.kt End of files Exit code: OK ------------------------------------------- -Building module4 -Cleaning output files: - out/production/module4/META-INF/module4.kotlin_module - out/production/module4/module4/D.class -End of files -Compiling files: - module4/src/d.kt -End of files -Exit code: OK ------------------------------------------- -Building module5 -Exit code: NOTHING_DONE ------------------------------------------ \ 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 index c8c238cd23f..be801fbab11 100644 --- a/jps-plugin/testData/incremental/cacheVersionChanged/withError/build.log +++ b/jps-plugin/testData/incremental/cacheVersionChanged/withError/build.log @@ -1,5 +1,21 @@ ================ Step #1 ================= +Building module5 +Exit code: NOTHING_DONE +------------------------------------------ +Building module4 +Local cache for KotlinChunk(Module 'module4' production) are INVALID: actual=CacheVersion(version=777) -> expected=CacheVersion(version=9011001) +Marked as dirty by Kotlin: + module4/src/d.kt +Cleaning output files: + out/production/module4/META-INF/module4.kotlin_module + out/production/module4/module4/D.class +End of files +Compiling files: + module4/src/d.kt +End of files +Exit code: OK +------------------------------------------ Building module1 Local cache for KotlinChunk(Module 'module1' production) are INVALID: actual=CacheVersion(version=777) -> expected=CacheVersion(version=9011001) Marked as dirty by Kotlin: @@ -22,6 +38,12 @@ Name expected ================ Step #2 ================= +Building module5 +Exit code: NOTHING_DONE +------------------------------------------ +Building module4 +Exit code: NOTHING_DONE +------------------------------------------ Building module1 Compiling files: module1/src/a.kt @@ -54,20 +76,4 @@ Compiling files: module3/src/c.kt End of files Exit code: OK ------------------------------------------- -Building module4 -Local cache for KotlinChunk(Module 'module4' production) are INVALID: actual=CacheVersion(version=777) -> expected=CacheVersion(version=9011001) -Marked as dirty by Kotlin: - module4/src/d.kt -Cleaning output files: - out/production/module4/META-INF/module4.kotlin_module - out/production/module4/module4/D.class -End of files -Compiling files: - module4/src/d.kt -End of files -Exit code: OK ------------------------------------------- -Building module5 -Exit code: NOTHING_DONE ------------------------------------------ \ 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 index 6d1a9032e85..c862f83b5cd 100644 --- a/jps-plugin/testData/incremental/cacheVersionChanged/withError/data-container-version-build.log +++ b/jps-plugin/testData/incremental/cacheVersionChanged/withError/data-container-version-build.log @@ -7,6 +7,19 @@ Marked as dirty by Kotlin: module2/src/b.kt module3/src/c.kt module4/src/d.kt +Building module5 +Exit code: NOTHING_DONE +------------------------------------------ +Building module4 +Cleaning output files: + out/production/module4/META-INF/module4.kotlin_module + out/production/module4/module4/D.class +End of files +Compiling files: + module4/src/d.kt +End of files +Exit code: OK +------------------------------------------ Building module1 Cleaning output files: out/production/module1/META-INF/module1.kotlin_module @@ -25,6 +38,22 @@ Name expected ================ Step #2 ================= +Building module5 +Exit code: NOTHING_DONE +------------------------------------------ +Building module4 +Local cache for KotlinChunk(Module 'module4' production) are INVALID: actual=null -> expected=CacheVersion(version=9011001) +Marked as dirty by Kotlin: + module4/src/d.kt +Cleaning output files: + out/production/module4/META-INF/module4.kotlin_module + out/production/module4/module4/D.class +End of files +Compiling files: + module4/src/d.kt +End of files +Exit code: OK +------------------------------------------ Building module1 Compiling files: module1/src/a.kt @@ -51,17 +80,4 @@ Compiling files: module3/src/c.kt End of files Exit code: OK ------------------------------------------- -Building module4 -Cleaning output files: - out/production/module4/META-INF/module4.kotlin_module - out/production/module4/module4/D.class -End of files -Compiling files: - module4/src/d.kt -End of files -Exit code: OK ------------------------------------------- -Building module5 -Exit code: NOTHING_DONE ------------------------------------------ \ No newline at end of file diff --git a/jps-plugin/testData/incremental/multiModule/common/twoDependants/build.log b/jps-plugin/testData/incremental/multiModule/common/twoDependants/build.log index 10e8f1351b5..e15db13f406 100644 --- a/jps-plugin/testData/incremental/multiModule/common/twoDependants/build.log +++ b/jps-plugin/testData/incremental/multiModule/common/twoDependants/build.log @@ -16,16 +16,6 @@ Exit code: ADDITIONAL_PASS_REQUIRED ------------------------------------------ Exit code: NOTHING_DONE ------------------------------------------ -Building module2 -Cleaning output files: - out/production/module2/META-INF/module2.kotlin_module - out/production/module2/b/BKt.class -End of files -Compiling files: - module2/src/b.kt -End of files -Exit code: OK ------------------------------------------- Building module3 Cleaning output files: out/production/module3/META-INF/module3.kotlin_module @@ -36,3 +26,13 @@ Compiling files: End of files Exit code: OK ------------------------------------------ +Building module2 +Cleaning output files: + out/production/module2/META-INF/module2.kotlin_module + out/production/module2/b/BKt.class +End of files +Compiling files: + module2/src/b.kt +End of files +Exit code: OK +------------------------------------------ \ No newline at end of file diff --git a/jps-plugin/testData/incremental/multiModule/common/twoDependants/js-jps-build.log b/jps-plugin/testData/incremental/multiModule/common/twoDependants/js-jps-build.log index 81b113cf293..89c5bf41776 100644 --- a/jps-plugin/testData/incremental/multiModule/common/twoDependants/js-jps-build.log +++ b/jps-plugin/testData/incremental/multiModule/common/twoDependants/js-jps-build.log @@ -16,17 +16,6 @@ Exit code: ADDITIONAL_PASS_REQUIRED ------------------------------------------ Exit code: NOTHING_DONE ------------------------------------------ -Building module2 -Cleaning output files: - out/production/module2/module2.js - out/production/module2/module2.meta.js - out/production/module2/module2/b/b.kjsm -End of files -Compiling files: - module2/src/b.kt -End of files -Exit code: OK ------------------------------------------- Building module3 Cleaning output files: out/production/module3/module3.js @@ -37,4 +26,15 @@ Compiling files: module3/src/c.kt End of files Exit code: OK +------------------------------------------ +Building module2 +Cleaning output files: + out/production/module2/module2.js + out/production/module2/module2.meta.js + out/production/module2/module2/b/b.kjsm +End of files +Compiling files: + module2/src/b.kt +End of files +Exit code: OK ------------------------------------------ \ No newline at end of file