================ Step #1 ================= Building module1 Cleaning output files: out/production/module1/META-INF/module1.kotlin_module out/production/module1/foo/A.class End of files Compiling files: module1/src/A.kt End of files Marked as dirty by Kotlin: module2/src/AChild.kt module2/src/importA.kt module3/src/importAChild.kt 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/foo/AChild.class End of files Compiling files: module2/src/AChild.kt module2/src/importA.kt End of files Exit code: ABORT ------------------------------------------ COMPILATION FAILED Cannot access 'A': it is private in file 'public' subclass exposes its 'private' supertype A Cannot access 'A': it is private in file ================ Step #2 ================= Building module1 Cleaning output files: out/production/module1/META-INF/module1.kotlin_module out/production/module1/foo/A.class End of files Compiling files: module1/src/A.kt End of files Marked as dirty by Kotlin: module2/src/AChild.kt module2/src/importA.kt module3/src/importAChild.kt Exit code: ADDITIONAL_PASS_REQUIRED ------------------------------------------ Exit code: NOTHING_DONE ------------------------------------------ Building module2 Compiling files: module2/src/AChild.kt module2/src/importA.kt End of files Exit code: OK ------------------------------------------ Building module3 Cleaning output files: out/production/module3/META-INF/module3.kotlin_module End of files Compiling files: module3/src/importAChild.kt End of files Exit code: OK ------------------------------------------