А как... создать котлин модуль который и в jvm и в...
# russian
l
А как... создать котлин модуль который и в jvm и в js может быть интегрирован?
http://take.ms/DDjzX Только 2 варианта)
Пишут что код надо чуть ли не копипастить
b
в 1.2-beta появилась экспереметальная поддержка #multiplatform проектов
l
@bashor А когда это станет не бетой известно? А то мне проект релизить в след году.
i
Мультиплатформенные проекты будут экспериментальными и в релизной версии 1.2.
l
Ок, но наверно и без 1.2 это можно делать? Шарить код между js и java?
b
можно, но больно
l
Что больнее.. experimental в проде или код шарить? 😃
А в чем вообще проблема - сослаться на одну и ту же папку в двух модулях?
i
Во-первых так не умеет IDEA, во-вторых даже если бы и умела, непонятно что будет за контекст у файлов в этой папке, из каких зависимостей будут искаться символы, на которые ссылается этот код
l
А с 1.2 умеет?
i
там другой подход. Считается что общий код находится в одном модуле, на который есть зависимость специального вида из модулей для конкретных платформ.
l
Но ведь... если общий модуль не ссылается ни на что - то и проблем быть не должно? (это фигня конечно, но предположим)
И в каком месте оно будет экспериментальное? Во время разработки может что то заглючить или уже когда все скомпилено? (мне почему то кажется, что если оно скомпилилось, то шанс что оно упадет никакой) Если дело только в обратной совместимости - это тоже нормально. (/me summon @ilya.gorbunov @bashor %) )
b
в каком месте оно будет экспериментальное?
В первую очередь, в плане горантий обратной совместимоти и качества тулинга
l
@bashor можно ли сказать, что стабильность скомпилированого кода будет достаточна для... Среднестатистического прода? Вот вы бы сами рискнули?) У меня просто проект, за который я сам буду отвечать если что. И там будет много одинаковой логики на js, java. И часто меняющейся. Я ошалею писать два одинаковых набора логики. Остаётся только вот так спрашивать о непадучести скомпилированого кода) Сдавать в начале следующего года, мне кажется, до этого момента стабильности будет достаточно
b
я описал ситуацию, использовать или нет на проде это уже решать вам
Чтобы было понятнее, резульатат работы данной фичи будет таким же, как если отдельно взять сорцы common модуля + сорцы jvm модуля, скопировать в отедельную папку и скомпилировать jvm компилятором, а потом взять сорцы common модуля + сорцы js модуля, скопировать в отедельную папку и скомпилировать js компилятором.
по модулю багов 🙂
m
А если просто тупо сделать симлинк на common каталог, и добавить в sourceset либо сам каталог, либо симлинк на него? Чтобы IDEA обмануть.
y
симлинки делать можно, это как-то работает, но всё вместе довольно криво получается
l
Я все же уточню. 1. Когда выйдет 1.2? 2. "Экспериментальное" - это означает что оно может падать после сборки, нестабильно; или только то, что апи может поменяться?
y
1. when it's done. мы никогда не анонсируем заранее даты релизов
2. "экспериментальное" означает, что апи/синтаксис может поменяться, при этом старый апи/синтаксис останется как deprecated
🙂 1
l
Большое спасибо, значит за стабильность работы можно быть спокойным. Смену api мы легко переживем.