Последствия (Jetifier)

Представьте что вы большая компания. Вы сделали кучу жизненно важных библиотек, которые все зависят друг от друга. И весь мир зависит от них, без преувеличения.

Потом в какой-то момент на первый взгляд чисто из маркетинговых целей решили переименовать все пакеты у этих библиотек. Что может пойти не так?

Так как вы большая компания, то вы пишите утилиту, которая может в процессе сборки проекта подменить старые названия пакетов на новые во всех зависимостях проекта транзитивно. Ценой времени сборки, конечно, а как иначе. Но в короткой перспективе это позволяет пользователям жить частично с новыми, частично со старыми зависимостями.

Потом проходит 5 лет, а люди продолжают пытаться её отключить в больших (и не очень) проектах. Со своим кодом ещё куда ни шло, но заброшенные годами third party зависимости в легаси как жили со старыми зависимостями так и живут до сих пор, поэтому без этой утилиты у вас проект в принципе не собирается. И вы каждый день тратите секунды времени на билде у каждого разработчика, минуты, часы или дни если перемножать и смотреть на дистанции. А переписывать эти куски - это потери прямо здесь и сейчас, смысл которых объяснить бизнесу сложновато. Многие выбирают ничего не делать, "когда нибудь выпилим".

Это я всё к чему. Мы это скорее всем сообществом как данность воспринимаем, но, если подумать, Jetifier это же чуть ли не самое тупое, что с андроид разработкой происходило за всё время её существования. В Google просто на ровном месте создали нам проблем. Надо ли оно было?

TIL Jetifier ещё не вышел из беты ✏️