From 334ae8b2b70683069f1416c4a02b9601db583a0e Mon Sep 17 00:00:00 2001 From: Alexey Tsvetkov Date: Fri, 17 Apr 2020 12:54:19 +0300 Subject: [PATCH] Remove dirty output files when expanding IC scope early Previously IC could go to the next iteration without removing outputs for the files compiled during the last iteration. For example, it could happen, when a multifile part is changed (we add sources for other parts and recompile everything together). In case of MPP it could lead to compile error, because the compiler would see the same actual declarations from dirty sources and dirty outputs from previous iteration (which should have been removed). That behaviour did not raise an error before a5c976d0f751830704daa8b7386fcc288139c35c because actual declarations from binaries (e.g. compile classpath) were ignored. #KT-35957 Fixed Original commit: 4ccec5218ffc54d4e418cdcb6c27f307077b7dcf --- .../incremental/mpp/jvmOnly/multifilePartChanged/build.log | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/jps/jps-plugin/testData/incremental/mpp/jvmOnly/multifilePartChanged/build.log b/jps/jps-plugin/testData/incremental/mpp/jvmOnly/multifilePartChanged/build.log index 5cec33fd7c5..48a7a882c76 100644 --- a/jps/jps-plugin/testData/incremental/mpp/jvmOnly/multifilePartChanged/build.log +++ b/jps/jps-plugin/testData/incremental/mpp/jvmOnly/multifilePartChanged/build.log @@ -6,9 +6,4 @@ Compiling files: src/utilsActual.kt src/utilsNoActual.kt End of files -Exit code: ABORT ------------------------------------------- -COMPILATION FAILED -Class 'X' has several compatible actual declarations in modules , -Function 'foo' has several compatible actual declarations in modules , -Function 'useX' has several compatible actual declarations in modules , \ No newline at end of file +Exit code: OK \ No newline at end of file