Size: a a a

Programming Offtop

2020 May 27

VP

Vladimir Petrakovich in Programming Offtop
Но обычно популярные библиотеки пристально следят за этим
источник

D

Dmitry in Programming Offtop
И если не ломать. В вебе особенно заметно, потому что забивали на это
источник

D

Dmitry in Programming Offtop
Только в бекенде вероятно пофиг
источник

VP

Vladimir Petrakovich in Programming Offtop
Dmitry
И если не ломать. В вебе особенно заметно, потому что забивали на это
А в чём зло тогда?
источник

VP

Vladimir Petrakovich in Programming Offtop
А главное, как жить?
источник

QH

Quantum Harmonizer in Programming Offtop
чёт да, я тоже не понял, что теперь делать
источник

AN

Alexander Nozik in Programming Offtop
Dmitry
И если не ломать. В вебе особенно заметно, потому что забивали на это
В вебе проблема не в транзитивных зависимостях, а в убитой сборке.
источник

D

Dmitry in Programming Offtop
Quantum Harmonizer
чёт да, я тоже не понял, что теперь делать
Затаскивать в библиотеки только те зависимости, которые реально нужны?
источник

QH

Quantum Harmonizer in Programming Offtop
Dmitry
Затаскивать в библиотеки только те зависимости, которые реально нужны?
ну это слишком очевидно
источник

NY

Nikita Yatskivskiy in Programming Offtop
А как в целом быть, если у меня в библиотеке - okhttp будет одной версии, а в приложениях, которые будут его использовать - может быть более старая, или более новая? Вопрос даже не конкретно про OkHttp, а и про любую другую зависимость.
источник

VP

Vladimir Petrakovich in Programming Offtop
Nikita Yatskivskiy
А как в целом быть, если у меня в библиотеке - okhttp будет одной версии, а в приложениях, которые будут его использовать - может быть более старая, или более новая? Вопрос даже не конкретно про OkHttp, а и про любую другую зависимость.
Конфликт версий решает система сборки. Gradle по дефолту берёт самую новую.
источник

NY

Nikita Yatskivskiy in Programming Offtop
Vladimir Petrakovich
Конфликт версий решает система сборки. Gradle по дефолту берёт самую новую.
То есть, в теории, если между версиями библиотек плохая совместимость, в плане того же api, то будет падение в рантайме? Или ошибка компиляции? Например моя библиотека MyLibrary зависит от OtherLibrary. И вызывает у OtherLibrary метод, который в более новой версии библиотеки, например, убрали или поменяли сигнатуру.
Я к тому, если у пользователя будет более новая версия библиотеки, то Gradle и моей либе её подставит?
источник

NY

Nikita Yatskivskiy in Programming Offtop
И как и что произойдёт?)
источник

VP

Vladimir Petrakovich in Programming Offtop
Nikita Yatskivskiy
То есть, в теории, если между версиями библиотек плохая совместимость, в плане того же api, то будет падение в рантайме? Или ошибка компиляции? Например моя библиотека MyLibrary зависит от OtherLibrary. И вызывает у OtherLibrary метод, который в более новой версии библиотеки, например, убрали или поменяли сигнатуру.
Я к тому, если у пользователя будет более новая версия библиотеки, то Gradle и моей либе её подставит?
Если из вашей библиотеки зависимость торчит в API (и объявлена соответственно), то может взорваться во время компиляции.
Если у зависимости сломана совместимость ABI, может взорваться в рантайме.
источник

VP

Vladimir Petrakovich in Programming Offtop
Nikita Yatskivskiy
И как и что произойдёт?)
Скорее всего NoSuchMethodError или что-то в этом роде
источник

VP

Vladimir Petrakovich in Programming Offtop
В общем, кровь-кишки-крэши
источник

ML

Mikhail Levchenko in Programming Offtop
Ilmir
Я, наверное, не тот человек, который может дать подходящий под ваш случай ответ. Я по бекенду больше. Но я бы сделал что-то типа
val analysisResult - JvmResolveUtil.analyze(...)
val kotlinType = ktParameter.getAbbreviatedTypeOrType(analysisResult.bindingContext)
val source = kotlinType.typeConstructor.source
val psi = source.psi
спасибо тебе, я разобрался теперь как это делается. Надо сказать, что обилие Utils делает поиск нужных мостиков довольно сложным
источник

ML

Mikhail Levchenko in Programming Offtop
в InteliJ очень не хватает функции "покажи все экстеншны к классу"
источник

ML

Mikhail Levchenko in Programming Offtop
потому что вся самая мякотка как раз в них
источник

KK

Kirill Knize in Programming Offtop
Mikhail Levchenko
в InteliJ очень не хватает функции "покажи все экстеншны к классу"
Find usages
> Extension receiver type
источник