KotlinBuilder: use proper API to update Java mappings
This commit is contained in:
@@ -261,7 +261,7 @@ class KotlinBuilder : ModuleLevelBuilder(BuilderCategory.SOURCE_PROCESSOR) {
|
|||||||
|
|
||||||
@Suppress("REIFIED_TYPE_UNSAFE_SUBSTITUTION")
|
@Suppress("REIFIED_TYPE_UNSAFE_SUBSTITUTION")
|
||||||
val generatedClasses = generatedFiles.filterIsInstance<GeneratedJvmClass<ModuleBuildTarget>>()
|
val generatedClasses = generatedFiles.filterIsInstance<GeneratedJvmClass<ModuleBuildTarget>>()
|
||||||
val additionalPassRequired = updateJavaMappings(chunk, compilationErrors, context, dirtyFilesHolder, filesToCompile, generatedClasses, incrementalCaches)
|
updateJavaMappings(chunk, compilationErrors, context, dirtyFilesHolder, filesToCompile, generatedClasses, incrementalCaches)
|
||||||
|
|
||||||
if (!IncrementalCompilation.isEnabled()) {
|
if (!IncrementalCompilation.isEnabled()) {
|
||||||
return OK
|
return OK
|
||||||
@@ -279,7 +279,7 @@ class KotlinBuilder : ModuleLevelBuilder(BuilderCategory.SOURCE_PROCESSOR) {
|
|||||||
processChanges(filesToCompile.values().toSet(), allCompiledFiles, dataManager, incrementalCaches.values, changesInfo, fsOperations)
|
processChanges(filesToCompile.values().toSet(), allCompiledFiles, dataManager, incrementalCaches.values, changesInfo, fsOperations)
|
||||||
incrementalCaches.values.forEach { it.cleanDirtyInlineFunctions() }
|
incrementalCaches.values.forEach { it.cleanDirtyInlineFunctions() }
|
||||||
|
|
||||||
return if (additionalPassRequired) ADDITIONAL_PASS_REQUIRED else OK
|
return OK
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun applyActionsOnCacheVersionChange(
|
private fun applyActionsOnCacheVersionChange(
|
||||||
@@ -476,10 +476,10 @@ class KotlinBuilder : ModuleLevelBuilder(BuilderCategory.SOURCE_PROCESSOR) {
|
|||||||
filesToCompile: MultiMap<ModuleBuildTarget, File>,
|
filesToCompile: MultiMap<ModuleBuildTarget, File>,
|
||||||
generatedClasses: List<GeneratedJvmClass<ModuleBuildTarget>>,
|
generatedClasses: List<GeneratedJvmClass<ModuleBuildTarget>>,
|
||||||
incrementalCaches: Map<ModuleBuildTarget, JpsIncrementalCacheImpl>
|
incrementalCaches: Map<ModuleBuildTarget, JpsIncrementalCacheImpl>
|
||||||
): Boolean {
|
) {
|
||||||
val previousMappings = context.projectDescriptor.dataManager.mappings
|
val previousMappings = context.projectDescriptor.dataManager.mappings
|
||||||
val delta = previousMappings.createDelta()
|
val callback = JavaBuilderUtil.getDependenciesRegistrar(context)
|
||||||
val callback = delta.callback
|
|
||||||
val targetDirtyFiles: Map<ModuleBuildTarget, Set<File>> = chunk.targets.keysToMap {
|
val targetDirtyFiles: Map<ModuleBuildTarget, Set<File>> = chunk.targets.keysToMap {
|
||||||
val files = HashSet<File>()
|
val files = HashSet<File>()
|
||||||
dirtyFilesHolder.getRemovedFiles(it).mapTo(files, ::File)
|
dirtyFilesHolder.getRemovedFiles(it).mapTo(files, ::File)
|
||||||
@@ -511,9 +511,10 @@ class KotlinBuilder : ModuleLevelBuilder(BuilderCategory.SOURCE_PROCESSOR) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
val allCompiled = filesToCompile.values()
|
val allCompiled = filesToCompile.values()
|
||||||
val compiledInThisRound = if (compilationErrors) listOf<File>() else allCompiled
|
val successfullyCompiled = if (compilationErrors) listOf<File>() else allCompiled
|
||||||
|
|
||||||
return JavaBuilderUtil.updateMappings(context, delta, dirtyFilesHolder, chunk, allCompiled, compiledInThisRound)
|
JavaBuilderUtil.registerFilesToCompile(context, allCompiled)
|
||||||
|
JavaBuilderUtil.registerSuccessfullyCompiled(context, successfullyCompiled)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun registerOutputItems(outputConsumer: ModuleLevelBuilder.OutputConsumer, generatedFiles: List<GeneratedFile<ModuleBuildTarget>>) {
|
private fun registerOutputItems(outputConsumer: ModuleLevelBuilder.OutputConsumer, generatedFiles: List<GeneratedFile<ModuleBuildTarget>>) {
|
||||||
|
|||||||
@@ -11,11 +11,9 @@ Exit code: ADDITIONAL_PASS_REQUIRED
|
|||||||
------------------------------------------
|
------------------------------------------
|
||||||
Cleaning output files:
|
Cleaning output files:
|
||||||
out/production/module/META-INF/module.kotlin_module
|
out/production/module/META-INF/module.kotlin_module
|
||||||
out/production/module/constant/ConstantKt.class
|
|
||||||
out/production/module/usage/UsageKt.class
|
out/production/module/usage/UsageKt.class
|
||||||
End of files
|
End of files
|
||||||
Compiling files:
|
Compiling files:
|
||||||
src/constant.kt
|
|
||||||
src/usage.kt
|
src/usage.kt
|
||||||
End of files
|
End of files
|
||||||
Exit code: OK
|
Exit code: OK
|
||||||
|
|||||||
@@ -9,14 +9,7 @@ Compiling files:
|
|||||||
End of files
|
End of files
|
||||||
Exit code: ADDITIONAL_PASS_REQUIRED
|
Exit code: ADDITIONAL_PASS_REQUIRED
|
||||||
------------------------------------------
|
------------------------------------------
|
||||||
Cleaning output files:
|
Exit code: NOTHING_DONE
|
||||||
out/production/module1/META-INF/module1.kotlin_module
|
|
||||||
out/production/module1/test/Module1_constKt.class
|
|
||||||
End of files
|
|
||||||
Compiling files:
|
|
||||||
module1/src/module1_const.kt
|
|
||||||
End of files
|
|
||||||
Exit code: OK
|
|
||||||
------------------------------------------
|
------------------------------------------
|
||||||
Cleaning output files:
|
Cleaning output files:
|
||||||
out/production/module2/usage/Usage.class
|
out/production/module2/usage/Usage.class
|
||||||
|
|||||||
@@ -22,12 +22,9 @@ End of files
|
|||||||
Exit code: ADDITIONAL_PASS_REQUIRED
|
Exit code: ADDITIONAL_PASS_REQUIRED
|
||||||
------------------------------------------
|
------------------------------------------
|
||||||
Cleaning output files:
|
Cleaning output files:
|
||||||
out/production/module/META-INF/module.kotlin_module
|
|
||||||
out/production/module/test/ConstKt.class
|
|
||||||
out/production/module/test/Usage.class
|
out/production/module/test/Usage.class
|
||||||
End of files
|
End of files
|
||||||
Compiling files:
|
Compiling files:
|
||||||
src/const.kt
|
|
||||||
src/usage.kt
|
src/usage.kt
|
||||||
End of files
|
End of files
|
||||||
Exit code: OK
|
Exit code: OK
|
||||||
|
|||||||
-3
@@ -10,12 +10,9 @@ End of files
|
|||||||
Exit code: ADDITIONAL_PASS_REQUIRED
|
Exit code: ADDITIONAL_PASS_REQUIRED
|
||||||
------------------------------------------
|
------------------------------------------
|
||||||
Cleaning output files:
|
Cleaning output files:
|
||||||
out/production/module/test/Klass$Companion.class
|
|
||||||
out/production/module/test/Klass.class
|
|
||||||
out/production/module/test/Usage.class
|
out/production/module/test/Usage.class
|
||||||
End of files
|
End of files
|
||||||
Compiling files:
|
Compiling files:
|
||||||
src/const.kt
|
|
||||||
src/usage.kt
|
src/usage.kt
|
||||||
End of files
|
End of files
|
||||||
Exit code: OK
|
Exit code: OK
|
||||||
|
|||||||
Vendored
+22
@@ -0,0 +1,22 @@
|
|||||||
|
================ Step #1 =================
|
||||||
|
|
||||||
|
Cleaning output files:
|
||||||
|
out/production/module/test/Klass$Companion.class
|
||||||
|
out/production/module/test/Klass.class
|
||||||
|
End of files
|
||||||
|
Compiling files:
|
||||||
|
src/const.kt
|
||||||
|
End of files
|
||||||
|
Exit code: OK
|
||||||
|
------------------------------------------
|
||||||
|
Cleaning output files:
|
||||||
|
out/production/module/test/Klass$Companion.class
|
||||||
|
out/production/module/test/Klass.class
|
||||||
|
out/production/module/test/Usage.class
|
||||||
|
End of files
|
||||||
|
Compiling files:
|
||||||
|
src/const.kt
|
||||||
|
src/usage.kt
|
||||||
|
End of files
|
||||||
|
Exit code: OK
|
||||||
|
------------------------------------------
|
||||||
@@ -3,7 +3,7 @@
|
|||||||
Compiling files:
|
Compiling files:
|
||||||
src/class2.kt
|
src/class2.kt
|
||||||
End of files
|
End of files
|
||||||
Exit code: ADDITIONAL_PASS_REQUIRED
|
Exit code: OK
|
||||||
------------------------------------------
|
------------------------------------------
|
||||||
Cleaning output files:
|
Cleaning output files:
|
||||||
out/production/module/Klass.class
|
out/production/module/Klass.class
|
||||||
|
|||||||
+1
-1
@@ -20,7 +20,7 @@ Compiling files:
|
|||||||
src/other.kt
|
src/other.kt
|
||||||
src/usage.kt
|
src/usage.kt
|
||||||
End of files
|
End of files
|
||||||
Exit code: ADDITIONAL_PASS_REQUIRED
|
Exit code: OK
|
||||||
------------------------------------------
|
------------------------------------------
|
||||||
Cleaning output files:
|
Cleaning output files:
|
||||||
out/production/module/META-INF/module.kotlin_module
|
out/production/module/META-INF/module.kotlin_module
|
||||||
|
|||||||
+22
@@ -0,0 +1,22 @@
|
|||||||
|
================ Step #1 =================
|
||||||
|
|
||||||
|
Cleaning output files:
|
||||||
|
out/production/module/META-INF/module.kotlin_module
|
||||||
|
out/production/module/test/Test.class
|
||||||
|
out/production/module/test/Test__BKt.class
|
||||||
|
End of files
|
||||||
|
Compiling files:
|
||||||
|
src/b.kt
|
||||||
|
End of files
|
||||||
|
Exit code: OK
|
||||||
|
------------------------------------------
|
||||||
|
Cleaning output files:
|
||||||
|
out/production/module/META-INF/module.kotlin_module
|
||||||
|
out/production/module/test/Test.class
|
||||||
|
out/production/module/test/Test__AKt.class
|
||||||
|
End of files
|
||||||
|
Compiling files:
|
||||||
|
src/a.kt
|
||||||
|
End of files
|
||||||
|
Exit code: OK
|
||||||
|
------------------------------------------
|
||||||
@@ -9,11 +9,9 @@ End of files
|
|||||||
Exit code: ADDITIONAL_PASS_REQUIRED
|
Exit code: ADDITIONAL_PASS_REQUIRED
|
||||||
------------------------------------------
|
------------------------------------------
|
||||||
Cleaning output files:
|
Cleaning output files:
|
||||||
out/production/module/test/Object.class
|
|
||||||
out/production/module/test/Usage.class
|
out/production/module/test/Usage.class
|
||||||
End of files
|
End of files
|
||||||
Compiling files:
|
Compiling files:
|
||||||
src/const.kt
|
|
||||||
src/usage.kt
|
src/usage.kt
|
||||||
End of files
|
End of files
|
||||||
Exit code: OK
|
Exit code: OK
|
||||||
|
|||||||
+20
@@ -0,0 +1,20 @@
|
|||||||
|
================ Step #1 =================
|
||||||
|
|
||||||
|
Cleaning output files:
|
||||||
|
out/production/module/test/Object.class
|
||||||
|
End of files
|
||||||
|
Compiling files:
|
||||||
|
src/const.kt
|
||||||
|
End of files
|
||||||
|
Exit code: OK
|
||||||
|
------------------------------------------
|
||||||
|
Cleaning output files:
|
||||||
|
out/production/module/test/Object.class
|
||||||
|
out/production/module/test/Usage.class
|
||||||
|
End of files
|
||||||
|
Compiling files:
|
||||||
|
src/const.kt
|
||||||
|
src/usage.kt
|
||||||
|
End of files
|
||||||
|
Exit code: OK
|
||||||
|
------------------------------------------
|
||||||
@@ -10,12 +10,9 @@ End of files
|
|||||||
Exit code: ADDITIONAL_PASS_REQUIRED
|
Exit code: ADDITIONAL_PASS_REQUIRED
|
||||||
------------------------------------------
|
------------------------------------------
|
||||||
Cleaning output files:
|
Cleaning output files:
|
||||||
out/production/module/META-INF/module.kotlin_module
|
|
||||||
out/production/module/test/ConstKt.class
|
|
||||||
out/production/module/test/Usage.class
|
out/production/module/test/Usage.class
|
||||||
End of files
|
End of files
|
||||||
Compiling files:
|
Compiling files:
|
||||||
src/const.kt
|
|
||||||
src/usage.kt
|
src/usage.kt
|
||||||
End of files
|
End of files
|
||||||
Exit code: OK
|
Exit code: OK
|
||||||
|
|||||||
-3
@@ -10,12 +10,9 @@ End of files
|
|||||||
Exit code: ADDITIONAL_PASS_REQUIRED
|
Exit code: ADDITIONAL_PASS_REQUIRED
|
||||||
------------------------------------------
|
------------------------------------------
|
||||||
Cleaning output files:
|
Cleaning output files:
|
||||||
out/production/module/test/Trait$Companion.class
|
|
||||||
out/production/module/test/Trait.class
|
|
||||||
out/production/module/test/Usage.class
|
out/production/module/test/Usage.class
|
||||||
End of files
|
End of files
|
||||||
Compiling files:
|
Compiling files:
|
||||||
src/const.kt
|
|
||||||
src/usage.kt
|
src/usage.kt
|
||||||
End of files
|
End of files
|
||||||
Exit code: OK
|
Exit code: OK
|
||||||
|
|||||||
jps-plugin/testData/incremental/pureKotlin/traitClassObjectConstantChanged/experimental-ic-build.log
Vendored
+22
@@ -0,0 +1,22 @@
|
|||||||
|
================ Step #1 =================
|
||||||
|
|
||||||
|
Cleaning output files:
|
||||||
|
out/production/module/test/Trait$Companion.class
|
||||||
|
out/production/module/test/Trait.class
|
||||||
|
End of files
|
||||||
|
Compiling files:
|
||||||
|
src/const.kt
|
||||||
|
End of files
|
||||||
|
Exit code: OK
|
||||||
|
------------------------------------------
|
||||||
|
Cleaning output files:
|
||||||
|
out/production/module/test/Trait$Companion.class
|
||||||
|
out/production/module/test/Trait.class
|
||||||
|
out/production/module/test/Usage.class
|
||||||
|
End of files
|
||||||
|
Compiling files:
|
||||||
|
src/const.kt
|
||||||
|
src/usage.kt
|
||||||
|
End of files
|
||||||
|
Exit code: OK
|
||||||
|
------------------------------------------
|
||||||
+23
@@ -0,0 +1,23 @@
|
|||||||
|
================ Step #1 =================
|
||||||
|
|
||||||
|
Cleaning output files:
|
||||||
|
out/production/module/TheClass.class
|
||||||
|
End of files
|
||||||
|
Compiling files:
|
||||||
|
src/TheClass.kt
|
||||||
|
End of files
|
||||||
|
Exit code: OK
|
||||||
|
------------------------------------------
|
||||||
|
Cleaning output files:
|
||||||
|
out/production/module/META-INF/module.kotlin_module
|
||||||
|
out/production/module/Usage.class
|
||||||
|
out/production/module/UsageInKotlinKt.class
|
||||||
|
End of files
|
||||||
|
Compiling files:
|
||||||
|
src/usageInKotlin.kt
|
||||||
|
End of files
|
||||||
|
Exit code: OK
|
||||||
|
------------------------------------------
|
||||||
|
Compiling files:
|
||||||
|
src/Usage.java
|
||||||
|
End of files
|
||||||
Vendored
+1
-1
@@ -11,7 +11,7 @@ Compiling files:
|
|||||||
src/Foo.kt
|
src/Foo.kt
|
||||||
src/usage.kt
|
src/usage.kt
|
||||||
End of files
|
End of files
|
||||||
Exit code: ADDITIONAL_PASS_REQUIRED
|
Exit code: OK
|
||||||
------------------------------------------
|
------------------------------------------
|
||||||
Cleaning output files:
|
Cleaning output files:
|
||||||
out/production/module/META-INF/module.kotlin_module
|
out/production/module/META-INF/module.kotlin_module
|
||||||
|
|||||||
+1
-1
@@ -7,7 +7,7 @@ End of files
|
|||||||
Compiling files:
|
Compiling files:
|
||||||
src/fun.kt
|
src/fun.kt
|
||||||
End of files
|
End of files
|
||||||
Exit code: ADDITIONAL_PASS_REQUIRED
|
Exit code: OK
|
||||||
------------------------------------------
|
------------------------------------------
|
||||||
Cleaning output files:
|
Cleaning output files:
|
||||||
out/production/module/JavaUsage.class
|
out/production/module/JavaUsage.class
|
||||||
|
|||||||
+1
-1
@@ -7,7 +7,7 @@ End of files
|
|||||||
Compiling files:
|
Compiling files:
|
||||||
src/fun.kt
|
src/fun.kt
|
||||||
End of files
|
End of files
|
||||||
Exit code: ADDITIONAL_PASS_REQUIRED
|
Exit code: OK
|
||||||
------------------------------------------
|
------------------------------------------
|
||||||
Cleaning output files:
|
Cleaning output files:
|
||||||
out/production/module/Usage.class
|
out/production/module/Usage.class
|
||||||
|
|||||||
+1
-6
@@ -11,13 +11,8 @@ Exit code: ADDITIONAL_PASS_REQUIRED
|
|||||||
------------------------------------------
|
------------------------------------------
|
||||||
Cleaning output files:
|
Cleaning output files:
|
||||||
out/production/module/Usage.class
|
out/production/module/Usage.class
|
||||||
out/production/module/test/Klass$Companion.class
|
|
||||||
out/production/module/test/Klass.class
|
|
||||||
End of files
|
End of files
|
||||||
Compiling files:
|
Exit code: NOTHING_DONE
|
||||||
src/const.kt
|
|
||||||
End of files
|
|
||||||
Exit code: OK
|
|
||||||
------------------------------------------
|
------------------------------------------
|
||||||
Compiling files:
|
Compiling files:
|
||||||
src/Usage.java
|
src/Usage.java
|
||||||
|
|||||||
Vendored
+24
@@ -0,0 +1,24 @@
|
|||||||
|
================ Step #1 =================
|
||||||
|
|
||||||
|
Cleaning output files:
|
||||||
|
out/production/module/test/Klass$Companion.class
|
||||||
|
out/production/module/test/Klass.class
|
||||||
|
End of files
|
||||||
|
Compiling files:
|
||||||
|
src/const.kt
|
||||||
|
End of files
|
||||||
|
Exit code: OK
|
||||||
|
------------------------------------------
|
||||||
|
Cleaning output files:
|
||||||
|
out/production/module/Usage.class
|
||||||
|
out/production/module/test/Klass$Companion.class
|
||||||
|
out/production/module/test/Klass.class
|
||||||
|
End of files
|
||||||
|
Compiling files:
|
||||||
|
src/const.kt
|
||||||
|
End of files
|
||||||
|
Exit code: OK
|
||||||
|
------------------------------------------
|
||||||
|
Compiling files:
|
||||||
|
src/Usage.java
|
||||||
|
End of files
|
||||||
+1
-1
@@ -7,7 +7,7 @@ End of files
|
|||||||
Compiling files:
|
Compiling files:
|
||||||
src/fun.kt
|
src/fun.kt
|
||||||
End of files
|
End of files
|
||||||
Exit code: ADDITIONAL_PASS_REQUIRED
|
Exit code: OK
|
||||||
------------------------------------------
|
------------------------------------------
|
||||||
Cleaning output files:
|
Cleaning output files:
|
||||||
out/production/module/WillBeUnresolved.class
|
out/production/module/WillBeUnresolved.class
|
||||||
|
|||||||
+1
-6
@@ -11,13 +11,8 @@ Exit code: ADDITIONAL_PASS_REQUIRED
|
|||||||
------------------------------------------
|
------------------------------------------
|
||||||
Cleaning output files:
|
Cleaning output files:
|
||||||
out/production/module/Usage.class
|
out/production/module/Usage.class
|
||||||
out/production/module/test/Klass$Companion.class
|
|
||||||
out/production/module/test/Klass.class
|
|
||||||
End of files
|
End of files
|
||||||
Compiling files:
|
Exit code: NOTHING_DONE
|
||||||
src/const.kt
|
|
||||||
End of files
|
|
||||||
Exit code: OK
|
|
||||||
------------------------------------------
|
------------------------------------------
|
||||||
Compiling files:
|
Compiling files:
|
||||||
src/Usage.java
|
src/Usage.java
|
||||||
|
|||||||
Vendored
+24
@@ -0,0 +1,24 @@
|
|||||||
|
================ Step #1 =================
|
||||||
|
|
||||||
|
Cleaning output files:
|
||||||
|
out/production/module/test/Klass$Companion.class
|
||||||
|
out/production/module/test/Klass.class
|
||||||
|
End of files
|
||||||
|
Compiling files:
|
||||||
|
src/const.kt
|
||||||
|
End of files
|
||||||
|
Exit code: OK
|
||||||
|
------------------------------------------
|
||||||
|
Cleaning output files:
|
||||||
|
out/production/module/Usage.class
|
||||||
|
out/production/module/test/Klass$Companion.class
|
||||||
|
out/production/module/test/Klass.class
|
||||||
|
End of files
|
||||||
|
Compiling files:
|
||||||
|
src/const.kt
|
||||||
|
End of files
|
||||||
|
Exit code: OK
|
||||||
|
------------------------------------------
|
||||||
|
Compiling files:
|
||||||
|
src/Usage.java
|
||||||
|
End of files
|
||||||
+1
-1
@@ -6,7 +6,7 @@ End of files
|
|||||||
Compiling files:
|
Compiling files:
|
||||||
src/Super.kt
|
src/Super.kt
|
||||||
End of files
|
End of files
|
||||||
Exit code: ADDITIONAL_PASS_REQUIRED
|
Exit code: OK
|
||||||
------------------------------------------
|
------------------------------------------
|
||||||
Cleaning output files:
|
Cleaning output files:
|
||||||
out/production/module/Sub.class
|
out/production/module/Sub.class
|
||||||
|
|||||||
+1
-1
@@ -7,7 +7,7 @@ End of files
|
|||||||
Compiling files:
|
Compiling files:
|
||||||
src/prop.kt
|
src/prop.kt
|
||||||
End of files
|
End of files
|
||||||
Exit code: ADDITIONAL_PASS_REQUIRED
|
Exit code: OK
|
||||||
------------------------------------------
|
------------------------------------------
|
||||||
Cleaning output files:
|
Cleaning output files:
|
||||||
out/production/module/WillBeUnresolved.class
|
out/production/module/WillBeUnresolved.class
|
||||||
|
|||||||
Reference in New Issue
Block a user