@kotlin_lang

Страница 551 из 982
Sergey
19.02.2018
14:25:49
Тут никак не выкрутиться, нужно рвать зависимость.
а как, если его создает плагин котлина?

Egor
19.02.2018
14:26:17
Мб попробовать откатиться?

Roman
19.02.2018
14:27:05
Хм, а почему у других пользователей котлин плагина все ок?

Egor
19.02.2018
14:28:02
Пресловутые вылетающие у каждого 1/10000 пользователя баги

Google
Sergey
19.02.2018
14:28:57
Хм, а почему у других пользователей котлин плагина все ок?
наверное никто не извращается с вложенными проектами. или что то другое мешает... попробую проверить на простом проекте

Roman
19.02.2018
14:29:53
Ну у меня проект с 11 модулями. Некоторые вложенные. Полет нормальный.

У меня помню тоже были проблемы с циклами, решил разрывом зависимостей с помощью +1 модуля.

Sergey
19.02.2018
14:44:01
Дело было в этом: https://youtrack.jetbrains.com/issue/KT-21181 https://github.com/gradle/gradle/issues/847

ошибка возникает только если у проектов есть одинаковое название

например A:jvm, B:jvm (jvm - одинаковое название)

Andrew
19.02.2018
14:45:19
Side advice: юзать кобальт
А как у него с Kotlin/Native и multi-platform?

Руслан
19.02.2018
14:46:08
А как у него с Kotlin/Native и multi-platform?
Позиция Цедрика: если у вы что-то можете сделать в гредл или мавен, но не можете в кобальт - пишите мне и я сделаю

Мои вопросы он как-то проигнорил и я забил на кобальт

Andrew
19.02.2018
14:48:19
Мои вопросы он как-то проигнорил и я забил на кобальт
Ну вот я не нашёл упоминания мультиплатформы в доках, решил, что он сыроват, и забил. Всё-таки билд-система на одном человеке, которую никто не юзает в свете наличия мавена/гредла, не особо нужен, имхо.

Sergey
19.02.2018
14:49:53
но вобще если бы оно работало, я бы тоже перешел в градле слишком много магии из за груви...

Руслан
19.02.2018
14:50:30
Можно устроить флешмоб...

Sergey
19.02.2018
14:50:37
а с kotlin srcipt для меня так вобще не очевидно. пока все исходники не перечитаешь не поймешь что нужно сделать чтобы заработало...

Google
Денис
19.02.2018
14:50:56
Можно устроить флешмоб...
"Ломаем прод, пока не починят кобальт"? :)

Egor
19.02.2018
14:51:09
Ну вот я все собираюсь катнуть статейку в хабр про кобальт, пробабли это прибавит ему известности и мейнтейнеров

Хотя, кажется, каждый котлинист в мире про него уже знает

Mikhail
19.02.2018
14:53:10
Ну вот я все собираюсь катнуть статейку в хабр про кобальт, пробабли это прибавит ему известности и мейнтейнеров
Кати, с удовольствием бы познакомился через более-менее разжеванный материал

Руслан
19.02.2018
14:54:34
Egor
19.02.2018
14:55:20
Нет, ну шутка ли, писать билдскрипты на котлине

Это та фича, что в свое время обеспечила успех градла

В некотором смысле

Руслан
19.02.2018
14:55:50
https://github.com/KotlinBy/awesome-kotlin/commit/16cae798560abe7b5aba69ac4964c4b6a0f5a41d#diff-9e9bc3b137c68b6d2f626cfa2a8545e5

Вот я переводил один проект на кобальт (потом откатил конечно)

Egor
19.02.2018
14:56:15
Хотя на фоне мавена все, в чем нет xml-я имело бы успех -_-

Andrew
19.02.2018
14:56:38
Оно-то круто, если бы закрывало хотя бы основные юзкейсы. Сейчас за глаза хватает мавена тем, кто любит декларативное описание процесса сборки и гредла остальным.

Руслан
19.02.2018
14:56:47
Банально не нашел как сделать папочку со скриптом запуска и зависимостями, аля application плагин в gradle

Egor
19.02.2018
14:58:38
Кстати, кобальт был бы гораздо более дееспособен, будь у него интероп с градлом

Руслан
19.02.2018
14:59:02
Если бы не было gradle

Andrew
19.02.2018
14:59:15
Звучит логично, но страшно себе представлять, насколько бы это усложнило кобальт (и убило всю его суть).

Egor
19.02.2018
14:59:37
Если бы не было gradle
Ну, кобальт это вообще котлин-специфик

Andrew
19.02.2018
14:59:58
Это одна из его проблем ?

Руслан
19.02.2018
15:00:06
Почему, он же сам детектит какие у тебя папочки и умеет собирать groovy/java/kotlin

Andrew
19.02.2018
15:00:43
А потом у тебя появляется необходимость подтянуть нативную зависимость с JNI-прослойкой и ты кидаешься менять систему сборки.

Google
Egor
19.02.2018
15:01:10
Потому что билдскрипты пишутся на котлине, а котлин джавистам гораздо менее интуитивно понятен, чем груви

Andrew
19.02.2018
15:01:35
Ой ли?

Egor
19.02.2018
15:01:45
Да и у котлина вообще пока ast-tree нет

Egor
19.02.2018
15:02:11
Это иллюзия

Andrew
19.02.2018
15:02:13
Кстати, Руслан, как там дела с UAST, когда в паблик выйдет?)

Egor
19.02.2018
15:02:14
))

Руслан
19.02.2018
15:02:19
И понимать этот java-groovy синтаксис не могу

Mikhail
19.02.2018
15:02:29
Потому что билдскрипты пишутся на котлине, а котлин джавистам гораздо менее интуитивно понятен, чем груви
Честно говоря, после того как увидел груви, ощущение было что все это гребаная магия на жльфийском

Vitalii
19.02.2018
15:03:26
Потому что билдскрипты пишутся на котлине, а котлин джавистам гораздо менее интуитивно понятен, чем груви
Не-а. Другой разговор, что рантайм грувей позволяет напрямую на Java писать всё.

Руслан
19.02.2018
15:03:44
У меня в Kobalt хоть автодополнение было, а в груви ты сам себе отдан - пиши любую чушь, и запускай - проверяй работает ли. те же тесты на споке и gradlе

Egor
19.02.2018
15:03:54
Идея постоянно показывает, что ничерта не понимает и не может найти объявлений и инициализаций, а градл все равно работает

Egor
19.02.2018
15:04:28
Про груви

Ща бы Баруха с его греилсом скастовать, прости господи

Всегда его вспоминаю, когда разговор заходит про груви

Andrew
19.02.2018
15:05:38
Не-а. Другой разговор, что рантайм грувей позволяет напрямую на Java писать всё.
Оно-то, конечно, круто, только на джаве билдскрипты писать наверняка ещё больнее, чем на котлине -- народ до сих пор страдает с облюбленными грувистами Closure и Object по всему коду.

Mikhail
19.02.2018
15:05:50
Идея постоянно показывает, что ничерта не понимает и не может найти объявлений и инициализаций, а градл все равно работает
Вот именно, правил как-то билд скрипт, доставшийся от груви-энтузиаста и нифига не мог понять, то что я написал - валидный вообще груви код или нет? Красным светится, но не падает до последнего

Google
Vitalii
19.02.2018
15:07:18
Ща бы Баруха с его греилсом скастовать, прости господи
Ну вот грейлс — вещь охренительная, но это уже другой разговор.

Egor
19.02.2018
15:09:32
Аа, так груви это скриптовый язык

А я все думал, что так сложно

Sergey
19.02.2018
15:36:26
это же вроде только для универсальных инспекций в идее

а для плагинов к котлину они как раз переводят все на ir

нет?

Руслан
19.02.2018
15:37:45
Кстати, Руслан, как там дела с UAST, когда в паблик выйдет?)
Я ж не в JB, и к UAST никого отношения не имею (сорь пропустил вопрос сразу)

Но в Talking Kotlin рассказывали что UAST в новом андроидовом линте используется

Andrew
19.02.2018
15:38:48
Дээ, это я тебя с Кириллом перепутал. Прошу пардона. :)

Знаю, об этом ещё на котлинконф рассказывали, но с тех пор я больше новостей не слышал.

(понаставят себе тёмных аватарок, понавешают лычек "admin", поди разберись, кто где)

Sergey
19.02.2018
15:41:01
ну линт - это же инспекции. можно посмотреть, и сделать какое то сообщение об ошибки. но код преобразовать не получиться (чтобы плагин к компилятору сделать). не похоже на аналог ast-tree в груви. вроде где то говорили что компилятор собираются перевести на ir, который можно будет трансформировать в плгаинах к компилятору

но сейчас компилятор явы не использует ir

вроде как то так

Kirill
19.02.2018
15:41:16
Я пытался найти среди участников чата человека, который делает UAST. Не нашёл

И таки uast -- это про инспекции в идее, да

Gleb
19.02.2018
17:31:32
как из ByteArray красиво извлечь подмассивы длиной по 16, чтобы получилось val list: List<ByteArray>, где list[anyIndex].size == 16?

balolam
19.02.2018
17:33:28
filter

Google
Gleb
19.02.2018
17:35:07
filter
нет-нет, ты не совсем правильно понял я хочу разделить один длинный ByteArray на массивы по 16 байт

плохо сформулировал, наверное

Vladimir
19.02.2018
17:35:20
Chunked(16)?

Gleb
19.02.2018
17:35:57
ну да

Andrew
19.02.2018
17:42:35
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/chunked.html

Gleb
19.02.2018
17:44:11
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/chunked.html
оо, спасибо а я все на ByteArray его ищу

Andrew
19.02.2018
17:45:59
Правда возвращает он List<LIst<Byte>>, что может не подойти в зависимости от задачи.

Igor
19.02.2018
18:53:22
А можно ли как-то осуществить pattern-матчинг List<T> по T в котлине?) В лоб на ночь глядя навряд-ли что-то смогу придумать

Quantum Harmonizer
19.02.2018
19:03:53
В любом случае, нельзя, потому что паттерн-матчинга в Котлине нет.

(сейчас мне наваляют за занудство)

Даниил
19.02.2018
19:04:46
ты же админ, кто тебе наваляет-то

Quantum Harmonizer
19.02.2018
19:05:14
сообщество же)

Igor
19.02.2018
19:05:36
не совсем понял, у тебя дженерик-функция принимающая List<T>?
Мне нужно A: C B: C someVal: List<C> when(someVal) { is List<A> -> ... is List<B> -> ... } делать, где A, B унаследованы от одного sealed класса

Даниил
19.02.2018
19:07:14
ну учитывая то что типы стираются и в рантайме это всё один тип List – нельзя притом, а если это List<T>, где T – твой sealed класс? то есть среди элементов есть и A, и B

Quantum Harmonizer
19.02.2018
19:07:19
Мне нужно A: C B: C someVal: List<C> when(someVal) { is List<A> -> ... is List<B> -> ... } делать, где A, B унаследованы от одного sealed класса
этой информации в рантайме нет, можно сделать подобное лишь пробежав по элеметам

Даниил
19.02.2018
19:07:25
если ты уверен что элементы только одного типа, то можешь по типу первого элемента матчить

Даниил
19.02.2018
19:07:58
Siarhei
19.02.2018
19:08:10
ребята, нужны про корутины проекты опенсорсные красивые, чтобы изучить

Страница 551 из 982