Size: a a a

Kotlin Community

2020 August 25

RI

Ruslan Ibragimov in Kotlin Community
Beholder
Подскажите пожалуйста пример сборочного файла Gradle для проекта с Kotlin для модульного Java 9+ приложения
Чтобы генериовать артифакты с модулями, или использовать модули? Я даже на Java не видел много таких) Если что можно посмотреть на билд junit
источник

B

Beholder in Kotlin Community
Ruslan Ibragimov
Чтобы генериовать артифакты с модулями, или использовать модули? Я даже на Java не видел много таких) Если что можно посмотреть на билд junit
Хотя бы чтоб использовать модули. Предполагается в дальнейшем приложение с OpenJFX
источник

B

Beholder in Kotlin Community
Или с модульностью вообще не связываться? Даже если хочется JDK 14
источник

RI

Ruslan Ibragimov in Kotlin Community
Beholder
Хотя бы чтоб использовать модули. Предполагается в дальнейшем приложение с OpenJFX
Чтобы получить минимальный билд с jlink можно не заморачиваться с модулями. Нужно таки дописать статью как это работает. Но вообще badass plugin в помощь
источник

B

Beholder in Kotlin Community
Нашёл вот https://github.com/java9-modularity/gradle-modules-plugin , но с наскока разобраться не смог
источник

BP

Bogdan Panchenko in Kotlin Community
обнова для идеи прлитела
источник

BP

Bogdan Panchenko in Kotlin Community
источник

PE

Pavel Erokhin in Kotlin Community
Спасибо!👍
источник

КР

Кирилл Романенко... in Kotlin Community
Подскажите пожалуйста: делаю sealed class, нужно чтобы все наследники были data class, но при этом необходимо хранить общую проперти. Единственный выход, который придумал: сделать open val + переопределить в каждом наследнике.

@Serializable
sealed class Foo(open val id: Int) {
   @Serializable
   data class A(override val id: Int) : Foo(id = id)

   @Serializable
   data class B(override val id: Int) : Foo(id = id)
}

Теперь встала задача сделать всех их Serializable, но ругается на то что я уже определил id в рут классе. Как обойти эту проблему? Кроме того чтобы переименовывать общую проперти.
источник

AS

Andrey Stepankov in Kotlin Community
Кирилл Романенко
Подскажите пожалуйста: делаю sealed class, нужно чтобы все наследники были data class, но при этом необходимо хранить общую проперти. Единственный выход, который придумал: сделать open val + переопределить в каждом наследнике.

@Serializable
sealed class Foo(open val id: Int) {
   @Serializable
   data class A(override val id: Int) : Foo(id = id)

   @Serializable
   data class B(override val id: Int) : Foo(id = id)
}

Теперь встала задача сделать всех их Serializable, но ругается на то что я уже определил id в рут классе. Как обойти эту проблему? Кроме того чтобы переименовывать общую проперти.
@Serializable
sealed class Foo {
 abstract val id: Int
 
 @Serializable
 data class A(override val id: Int) : Foo()

 @Serializable
 data class B(override val id: Int) : Foo()
}

?
источник

V

Vladimir in Kotlin Community
Andrey Stepankov
@Serializable
sealed class Foo {
 abstract val id: Int
 
 @Serializable
 data class A(override val id: Int) : Foo()

 @Serializable
 data class B(override val id: Int) : Foo()
}

?
+
источник

КР

Кирилл Романенко... in Kotlin Community
Andrey Stepankov
@Serializable
sealed class Foo {
 abstract val id: Int
 
 @Serializable
 data class A(override val id: Int) : Foo()

 @Serializable
 data class B(override val id: Int) : Foo()
}

?
Гениально.😅 Спасибо, чёт не додумался до такого очевидного и простого варианта.))
источник

О

Олег in Kotlin Community
Привет! Кто может скинуть норм ресурс по джава и Котлин? И впринципе для понимания процесса программирования. Только начинаю двигаться в направлении программирования. Английский средний.
источник

BP

Bogdan Panchenko in Kotlin Community
Кирилл Романенко
Гениально.😅 Спасибо, чёт не додумался до такого очевидного и простого варианта.))
так ведь в любом случае нужно пометить
источник

AM

Andrew Mikhaylov in Kotlin Community
Bogdan Panchenko
так ведь в любом случае нужно пометить
Но в случае с абстрактным свойством в базовом классе фактическое свойство id будет у каждого дата класса, потому сериализация будет себя хорошо чувствовать.
источник

AM

Andrew Mikhaylov in Kotlin Community
А, у Кирилла вообще два свойства было.
источник

BP

Bogdan Panchenko in Kotlin Community
Andrew Mikhaylov
Но в случае с абстрактным свойством в базовом классе фактическое свойство id будет у каждого дата класса, потому сериализация будет себя хорошо чувствовать.
я про то что в любом случае на дочерние сайлед классы нужно вешать серелизатор, сейчас перепроверю где это видел
источник

AM

Andrew Mikhaylov in Kotlin Community
Bogdan Panchenko
я про то что в любом случае на дочерние сайлед классы нужно вешать серелизатор, сейчас перепроверю где это видел
Ну да, вопрос-то был про свойство "id". Помечать надо, конечно :)
источник

AN

Alexander Nozik in Kotlin Community
Beholder
Хотя бы чтоб использовать модули. Предполагается в дальнейшем приложение с OpenJFX
Для использования openjfx не нужна модульная сборка, посмотрите примеры в https://github.com/beryx/badass-runtime-plugin. Или gradle-javafx-plugin
источник

B

Beholder in Kotlin Community
Alexander Nozik
Для использования openjfx не нужна модульная сборка, посмотрите примеры в https://github.com/beryx/badass-runtime-plugin. Или gradle-javafx-plugin
А без jlink ещё можно?
источник