================ Step #1 ================= Building module1, module2, module3 Cleaning output files: out/production/module1/foo/A.class End of files Compiling files: module1/src/A.kt End of files Marked as dirty by Kotlin: module1/src/D.kt module2/src/B.kt module3/src/C.kt module4/src/E.kt module5/src/F.kt Exit code: ADDITIONAL_PASS_REQUIRED ------------------------------------------ Cleaning output files: out/production/module1/foo/D.class out/production/module2/foo/B.class out/production/module3/foo/C.class End of files Compiling files: module1/src/D.kt End of files Compiling files: module2/src/B.kt End of files Compiling files: module3/src/C.kt End of files Exit code: ABORT ------------------------------------------ COMPILATION FAILED This type is final, so it cannot be inherited from ================ Step #2 ================= Building module1, module2, module3 Cleaning output files: out/production/module1/foo/A.class End of files Compiling files: module1/src/A.kt module1/src/D.kt End of files Compiling files: module2/src/B.kt End of files Compiling files: module3/src/C.kt End of files Marked as dirty by Kotlin: module4/src/E.kt module5/src/F.kt Exit code: ADDITIONAL_PASS_REQUIRED ------------------------------------------ Exit code: NOTHING_DONE ------------------------------------------ Building module4 Cleaning output files: out/production/module4/foo/E.class End of files Compiling files: module4/src/E.kt End of files Exit code: OK ------------------------------------------ Building module5 Cleaning output files: out/production/module5/foo/F.class End of files Compiling files: module5/src/F.kt End of files Exit code: OK ------------------------------------------