Size: a a a

Kotlin Community

2020 March 19

BP

Bogdan Panchenko in Kotlin Community
но не уверен
источник

VP

Vladimir Petrakovich in Kotlin Community
Ruslan Ibragimov
Точно так получится KType достать?
Я попробовал, и там reflect чёт не фурычит, ошибки в toString() сыпит 🌚
источник

VP

Vladimir Petrakovich in Kotlin Community
Видимо оно действительно с inline object не дружит 🤷‍♂️
источник

AO

Alexey Otts in Kotlin Community
Vladimir Petrakovich
По мне так лучше opt-in подключить, чем в метаданных ковыряться. Но вообще это должно быть покрыто kotlin-reflect.
По чесноку я её уже ковыряю итак, там компилятор мне вообще ничем помочь не может
источник

AO

Alexey Otts in Kotlin Community
Vladimir Petrakovich
Чтобы её распарсить, надо всё равно кусок reflect тащить
Да нет, там чтобы тип вытащить должно хватать чисто того, что лежит в протобафе
источник

AO

Alexey Otts in Kotlin Community
Ruslan Ibragimov
https://gist.github.com/udalov/bb6f398c2e643ee69586356fdd67e9b1 быстрый гуглеж показывает что не все так просто, а еще что тут скорее всего теряется информация о nullability
Да, потому что нулабилити есть только в метадате
источник

VP

Vladimir Petrakovich in Kotlin Community
Alexey Otts
Да нет, там чтобы тип вытащить должно хватать чисто того, что лежит в протобафе
Ну да, я про это
источник

AO

Alexey Otts in Kotlin Community
Vladimir Petrakovich
Ну да, я про это
Ну дак а зачем для этого рефлект?
источник

VP

Vladimir Petrakovich in Kotlin Community
Alexey Otts
Ну дак а зачем для этого рефлект?
А оно не в одном артефакте лежит? Или ты просто схему взял и сам классы по ней сгенерировал?
источник

AO

Alexey Otts in Kotlin Community
Vladimir Petrakovich
А оно не в одном артефакте лежит? Или ты просто схему взял и сам классы по ней сгенерировал?
Оно лежит в jvm.internal 😏
источник

M

Melodeiro in Kotlin Community
А можно как-то из кода программы получить доступ к тому, что в rootProject.name, rootProject.version гредла? Всегда задавался этим вопросом, но не находил ответ. Или это как в "Матрице", и только если в какой-нибудь файл записывать в таске гредла, и потом считывать его во время выполнения? Как вообще поступают в таких ситуациях?
источник

AO

Alexey Otts in Kotlin Community
Melodeiro
А можно как-то из кода программы получить доступ к тому, что в rootProject.name, rootProject.version гредла? Всегда задавался этим вопросом, но не находил ответ. Или это как в "Матрице", и только если в какой-нибудь файл записывать в таске гредла, и потом считывать его во время выполнения? Как вообще поступают в таких ситуациях?
Всё так, надо что то градлом сгенерить, мы подумываем над тем, чтобы генерить object с полями
источник

AN

Alexander Nozik in Kotlin Community
Melodeiro
А можно как-то из кода программы получить доступ к тому, что в rootProject.name, rootProject.version гредла? Всегда задавался этим вопросом, но не находил ответ. Или это как в "Матрице", и только если в какой-нибудь файл записывать в таске гредла, и потом считывать его во время выполнения? Как вообще поступают в таких ситуациях?
Файл делать, иначе никак. После того, как градл отработал, программа про него не знает
источник

M

Melodeiro in Kotlin Community
Alexander Nozik
Файл делать, иначе никак. После того, как градл отработал, программа про него не знает
Понял, глупый вопрос был, получается
источник

BV

Boris Vanin in Kotlin Community
Melodeiro
А можно как-то из кода программы получить доступ к тому, что в rootProject.name, rootProject.version гредла? Всегда задавался этим вопросом, но не находил ответ. Или это как в "Матрице", и только если в какой-нибудь файл записывать в таске гредла, и потом считывать его во время выполнения? Как вообще поступают в таких ситуациях?
Есть готовые плагины, которые умеют сложить основе вещи в мету
источник

AN

Alexander Nozik in Kotlin Community
Boris Vanin
Есть готовые плагины, которые умеют сложить основе вещи в мету
А можно ссылку? Мне тоже пригодится
источник

BV

Boris Vanin in Kotlin Community
С телефона сложно, но вот так для кастомной реализации можно положить в манифест Implementation-Title и Implementation-Version
источник

BV

Boris Vanin in Kotlin Community
Потом в коде можно сделать SomeClass::class.java.package.implementstuonVersion
источник

BV

Boris Vanin in Kotlin Community
Чтобы получить
источник

BV

Boris Vanin in Kotlin Community
Если в пакет посмотреть, то там видно, и какие проперти он откуда читает
источник