Пытаюсь использовать классы из модуля common
Подключении common модуля в платформенный - все ок.
А вот так: common - платформенный - платформенный. не ок. Smart cast is impossible, public API property in different module. Не смертельно, но не совсем понятно почему. Все равно common компилится в отдельный ярник, почему тогда в первом случае это никто не спрашивает?
i
ilya.gorbunov
06/28/2018, 3:37 PM
common + реализующий его платформенный модуль компилируются в один jar, от которого потом зависит другой платформенный модуль
l
lewik
06/28/2018, 3:38 PM
А когда есть только common и платформенный модуль? Ярника у меня явно два
i
ilya.gorbunov
06/28/2018, 5:04 PM
Из common получается неисполняемый jar, здесь нет проблемы раздельной компиляции. Проблема в следующем: при раздельной компиляции можно поменять реализацию свойства в одном модуле таким образом, что предположения о смарт-кастах в другом модуле становятся недействительными.
l
lewik
06/28/2018, 5:07 PM
Или "common + реализующий его платформенный модуль компилируются в один jar" или "Из common получается неисполняемый jar,"
lewik
06/28/2018, 5:22 PM
Или я чего то не понимаю?
i
ilya.gorbunov
06/29/2018, 9:42 AM
Из common получается jar c метадатой, с ним нет проблемы с раздельной компиляцией, т.к. он не содержит исполняемого кода. Из common + платформенного кода получается исполняемый jar для этой платформы.