Опрос анонимный. На скольких работах вы сейчас в айти?
Anonymous Poll
63%
Единственная
8%
Две
0%
Три
29%
Не работаю в айти
Знаете, что может быть хуже апдейта зависимостей своего проекта?
Правильно - апдейт зависимостей чужого проекта, особенно, если это либа, которая транзитивно тянет за собой ещё несколько нуждающихся в апдейтах либ, а исходники есть не на все.
Собственно примерно этим адом я занимаюсь последние 4 рабочих дня 😤
У меня даже появляется мысль а не переписать ли все с нуля, скорее всего этим и закончится, но я должен был попытаться.
В этом есть и плюсы- гредловые плагины я еще не писал, вот как раз и вариант прокачки нашёлся.
Правильно - апдейт зависимостей чужого проекта, особенно, если это либа, которая транзитивно тянет за собой ещё несколько нуждающихся в апдейтах либ, а исходники есть не на все.
Собственно примерно этим адом я занимаюсь последние 4 рабочих дня 😤
У меня даже появляется мысль а не переписать ли все с нуля, скорее всего этим и закончится, но я должен был попытаться.
В этом есть и плюсы- гредловые плагины я еще не писал, вот как раз и вариант прокачки нашёлся.
🤔1
JVM Brain | Java&Kotlin
Знаете, что может быть хуже апдейта зависимостей своего проекта? Правильно - апдейт зависимостей чужого проекта, особенно, если это либа, которая транзитивно тянет за собой ещё несколько нуждающихся в апдейтах либ, а исходники есть не на все. Собственно примерно…
На самом деле интересная история вышла. Поделюсь же этим 👇
Доработать плагин удалось, не без мучений 😬, но большая часть функционала осталась рабочей. Ох и наковырялся я в древних проектах.
Из опыта:
- не мешайте пакеты javax и jakarta, в рантайме при попытке инициализировать классы для работы с xml вы получите ошибку
- старайтесь брать библиотеки посвежее, не только в основном функционале, но и для тестов
- не забывайте править Jenkins файлы - сборка в любом случае идёт через них
- учитывайте, что под капотом может быть какая-то хитрая логика
- maven и gradle кэшируют зависимости, иногда даже при принудительном рефреше - приходилось для точности удалять папки.
Доработать плагин удалось, не без мучений 😬, но большая часть функционала осталась рабочей. Ох и наковырялся я в древних проектах.
Из опыта:
- не мешайте пакеты javax и jakarta, в рантайме при попытке инициализировать классы для работы с xml вы получите ошибку
- старайтесь брать библиотеки посвежее, не только в основном функционале, но и для тестов
- не забывайте править Jenkins файлы - сборка в любом случае идёт через них
- учитывайте, что под капотом может быть какая-то хитрая логика
- maven и gradle кэшируют зависимости, иногда даже при принудительном рефреше - приходилось для точности удалять папки.
👍1
Вы думали, что я умею только орать кодить.
Всего за один недельный спринт вы можете получить пару сотен рулонов сена (если повезет)
Всего за один недельный спринт вы можете получить пару сотен рулонов сена (если повезет)
🔥8👏1
Сегодня столкнулся с интересным кейсом в gradle
Я привык, что настройки репозиториев лежат в самом проекте, кроме кредов конечно. Но оказывается кто-то пользуется init.gradle файлами, что как по мне вообще неудобно и сейчас поясню почему.
1. Чтобы актуализировать файл ты должен всем его раздать и где-то опять же держать в общедоступном месте + обновлять в джобах, куда он подкладывается.
2. Если в разных проектах используется несколько разных репозиториев, то этот файл будет содержать абсолютно все репы, даже если в конкретном проекте они не используются - непрозрачно какие именно репы тебе нужны в конкретный момент времени для сборки проекта.
А вы что юзаете?
Я привык, что настройки репозиториев лежат в самом проекте, кроме кредов конечно. Но оказывается кто-то пользуется init.gradle файлами, что как по мне вообще неудобно и сейчас поясню почему.
1. Чтобы актуализировать файл ты должен всем его раздать и где-то опять же держать в общедоступном месте + обновлять в джобах, куда он подкладывается.
2. Если в разных проектах используется несколько разных репозиториев, то этот файл будет содержать абсолютно все репы, даже если в конкретном проекте они не используются - непрозрачно какие именно репы тебе нужны в конкретный момент времени для сборки проекта.
А вы что юзаете?