
Konstantin
30.07.2018
08:23:46
очевидное против невероятного - это как бы не про длинные названия )

dimiii
30.07.2018
08:24:29

Kirill
30.07.2018
08:24:34
https://vk.com/twispicord?w=wall-61226939_2388

Google

Konstantin
30.07.2018
08:24:49

dimiii
30.07.2018
08:25:04
согласен, фабрика-кухня

Vladimir
30.07.2018
08:25:07

Konstantin
30.07.2018
08:25:08
и что туда можно залезть и чото нажать чтобы все сломалось

Egor
30.07.2018
08:25:19
борщ борщ = Женщина.создатьБорщ?

Alexander
30.07.2018
08:26:38
Попробуйте сделать нормальный модульный код без этого
Всегда можно обвешать это красивыми утилками, особенно в котлине, но без этого никуда

Хекс
30.07.2018
08:28:02
ибо нулабл
а лучше женщина?.let { ... }

Egor
30.07.2018
08:28:25
Можно тогда ещё ленивую фабрику сделать

Konstantin
30.07.2018
08:28:26
тру

Egor
30.07.2018
08:28:38
А нет, нельзя, потому что женщина должна работать

Vladimir
30.07.2018
08:28:40
Ни у кого не вылазило такое в идее?
Error while indexing /home/user/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlinx/kotlinx-coroutines-core-common/0.23.3/94ff949da32fa6a0f30aa2c92ba6bd6ca4e21896/kotlinx-coroutines-core-common-0.23.3.jar!/kotlinx/coroutines/experimental/channels/AbstractChannel.kotlin_metadata
To reindex this file IDEA has to be restarted: Unknown type parameter with id = 2
java.lang.IllegalStateException: Unknown type parameter with id = 2

Google

Egor
30.07.2018
08:29:14
Скорее всего дело в этом

Quantum Harmonizer
30.07.2018
08:30:35

Хекс
30.07.2018
08:31:38
?

Vladimir
30.07.2018
08:34:26

dimiii
30.07.2018
08:35:18
У меня продукт на основе идеи (rubymine) как-то лез индексировать бинарные файлы - пришлось бить по рукам

Vladimir
30.07.2018
08:37:00

Alexander
30.07.2018
08:42:02
Это какой-то косяк кэшей градла. Если обновление было прямо сегодня, может что-то в демоне застряло не то. Я бы сказал, убить демона и сбросить кэши
не обязательно артефакты удалять, но чтобы этого избежать - это надо в потрохах градла копаться

Egor
30.07.2018
08:43:37
В таких случаях надо говорить production-ready product

Vladimir
30.07.2018
08:43:59

Alexander
30.07.2018
08:44:49
Проблема конфликта идеи с градлом. Если прочистка кэшей идеи не помогла, значит что-то с последним

dimiii
30.07.2018
08:45:56
Убить грэдл - вообще идеальный вариант.
Maven + maven polyglot

Vladimir
30.07.2018
08:46:40

Alexander
30.07.2018
08:46:51
упс

dimiii
30.07.2018
08:47:05

Alexander
30.07.2018
08:47:40
беда со смайликами. Я хотел сказать, что не надо. Я очень люблю мавен, но после градла на нем работать очень уж несподручно

Leonid
30.07.2018
08:48:19
всё равно Kotlin/JS и Kotlin/Native чем-то кроме гредла собирать достаточно несподручно ?

Google

Alexander
30.07.2018
08:49:50
Это да, но не только. Мавеновские lifecycle таски не всегда понятно, что делают. Я вот на днях возился. Каким-то образом компайл работал при том, что в проекте не хватало зависимостей. Я с мавена начинал, но это давно было

Vladimir
30.07.2018
08:50:54

Alexander
30.07.2018
08:52:05
Аа, так это ж декомпайлер. Ругается на бинарную несовместимости
действительно, градл не при чем

Leonid
30.07.2018
08:52:26
а попробуйте корутины 0.24

Alexander
30.07.2018
08:52:59
Может версия плагина протухла?

Leonid
30.07.2018
08:53:27
https://youtrack.jetbrains.com/issue/KT-24944
там косяк в бинарной сборке артефакта кажется был, поэтому его пересобрали как новую версию

Alexander
30.07.2018
08:54:26
Если плагин старый и он пытается декомпайлить более новый байткод, то будет ошибка

Vladimir
30.07.2018
08:55:00

Alexander
30.07.2018
08:55:32
А он пытается библиотеки заиндексировать на открытие проекта

Vladimir
30.07.2018
08:56:37

Alexander
30.07.2018
08:57:26
Если я прав, то оно тем более не заработает
Какая версия плагина в идее?

Тимур
30.07.2018
08:58:09
Насколько оправданно использовать котлин в качестве скриптовой обвязки для проекта?
Не основной код, а всякую мелкую автоматизацию вокруг проекта: что-то собрать, что-то переложить, что-то разослать
Обычно такое пишут на sh, bat, питоне
А кто-нибудь пытался котлин для этих целей применять?

Vladimir
30.07.2018
08:58:20

Alexander
30.07.2018
08:59:43

Vladimir
30.07.2018
09:03:20

Тимур
30.07.2018
09:05:00

Alexander
30.07.2018
09:06:51
Я запускаю файлы из идеи прямо. Не скрипты, а просто файлы с main методом. Для того, чтобы запускать kts извне, надо к нему весь проект в качестве classpath присобачить. Если надо извне, я обычно делаю градл таск, указывающий на конкретный файл с main методом. Kscript работает на баше и только под линуксом, так что я с ним не дружу.

Google

Alexander
30.07.2018
09:07:44
Кстати градл таск хорош еще тем, что он гарантирует актуальность скомпилированного кода.
Сейчас проверил. kts в идее видет файлы проекта, но работает немного странно.

Тимур
30.07.2018
09:13:31
мне почти все извне надо
и желательно без компиляции, то есть именно скрипты
автоматизация всяких проектных процессов
обычно такие вещи начинаются с bat/sh-файлов
но потом оказывается что bat/sh не справляются
вместо них приходит питон
вот пытаюсь понять, вроде котлин как-то умеет в скрипт
но пока не пойму насколько хорошо, чтобы его вместо питона применять для этих целей

Ivan
30.07.2018
09:13:49
Смысл скриптинга в том, чтобы подключать скрипты на лету, так с Котлином можно делать?

Admin
ERROR: S client not available

Alexander
30.07.2018
09:14:55
Тогда не очень рекомендую, не очень удобно все это делать на котлине. А вот груви - вполне. Он умеет интерпретировать скрипты на лету и по возможностям не уступает питону. Кроме того, он умеет завивимости на лету подхватывать

Bogdan
30.07.2018
10:04:50

Quantum Harmonizer
30.07.2018
10:07:06

Alexander
30.07.2018
10:08:47
Да

Alexander
30.07.2018
10:21:47
Парни. а может кто-нибудь подсказать, можно ли это как преврать в Котлин аннотэйшен класс?
@Extend(Extension.class)
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
public @interface InterfaceExt {
String value();
class Extension implements Context {
@Override
public void enrich(Map<String, String> context, String desc) {
context.put(«description», desc)
}
}
}
При любом раскладе, после переписывания пишет «Members are not allowed in annotation class»
честно говоря не врубаюсь как можно обойти

Тимур
30.07.2018
10:23:43
вообще как я понял можно скачать котлин compiler и запускать kts файлы им
в принципе оно вполне запускается, даже не надо никаких jvm дополнительно указывать
но в этом случае не очень понятно как шарить код между разными файлами скриптов
нашел что есть некий kscript который это умеет
но смущает во первых способ как он это делает, а во вторых что это чья-то самоделка

Leonid
30.07.2018
10:31:30

Alexander
30.07.2018
10:33:30
c value понятно, это не помогает, а вот если инфа про 1.3 верна, получается, что на данный момент это невозможно, я правильно понимаю?

Alexander
30.07.2018
10:33:38

Alexander
30.07.2018
10:35:14

Alexander
30.07.2018
10:36:05
при каком обращении?

Тимур
30.07.2018
10:38:31

Google

Leonid
30.07.2018
10:39:03

Badya
30.07.2018
10:39:19

Alexander
30.07.2018
10:39:48
Котлин вообще плохо ориентирован на динамическое применение, я думаю, что вся эта скриптовая бодяга не взлетит.
Идеальный вариант - писать на котлине, компилить, а потом использовать из груви

Badya
30.07.2018
10:41:04

Alexander
30.07.2018
10:41:42
Оно работает, но не очень удобно

Badya
30.07.2018
10:42:46
https://github.com/JetBrains/kotlin/tree/master/libraries/examples/kotlin-jsr223-daemon-local-eval-example

Alexander
30.07.2018
10:44:47
при каком обращении?
например при таком
childContext.getExtensions(Context.class)
.forEach(enricher -> enricher.enrich(childContext));

Alexander
30.07.2018
10:47:43
Не понятно, как getExtensions определено

Тимур
30.07.2018
10:47:44

Alexander
30.07.2018
10:48:31
для запуска kts jsr223 не нужен, компилятор их поддерживает из коробки
Проблема в том, что при каждом запуске надо classpath руками генерировать. kscript это все делает, но только на линуксе

Тимур
30.07.2018
13:46:16
я сейчас kscript собрал из исходников
это просто jar-файл, то есть при желании можно и на windows запустить, если сделать соответствующий bat-ник для запуска

Руслан
30.07.2018
14:29:29
Ближайшие 50 часов вы можете купить год пользования Intellij Idea Ultime (Kotlin JVM/Kotlin JS), CLion (Kotlin/Native), а также других IDE за пол цены!
https://www.jetbrains.com/promo/friends/

Alexander
30.07.2018
14:36:24
Ланчер на баше