Inferno de Dependências Não é um Problema do Gradle — É um Problema de Modelagem
Não é membro do Medium?
🧠 TL;DR (Demais para ler)
O inferno de dependências parece ser um problema de ferramentas, mas começa antes: ninguém definiu como os módulos podem se relacionar entre si. Cada build.gradle.kts está fazendo dois trabalhos silenciosamente — escolhendo a versão de uma biblioteca e decidindo como um módulo é configurado. Separe esses trabalhos, padronize os módulos em quatro arquétipos (Kotlin, Android, Feature, App) e pare um Catálogo de Versões com Plugins de Convenção. Essa combinação é a única configuração que ainda escala limpa para mais de 20 módulos.
1. São 16:45 no Dia do Lançamento
Você atualiza Coroutines de 1.7.3 para 1.8.0 dentro de :feature:checkout por uma nova operação Flow. Você executa ./gradlew assembleRelease, e falha:
\u003e Não foi possível resolver todos os arquivos para a configuração ':feature:profile:releaseCompileClasspath'.
> Conflito encontrado para a definição 'kotlinx-coroutines-core'...Ninguém mexeu em :feature:profile há três semanas. Está falhando de qualquer maneira, por causa de um pull transitivo que começou em um módulo não relacionado.
Isso não é uma irritação isolada — é um imposto recorrente em horas de engenharia, tempo do CI e cronogramas de lançamento, e isso deixa os novos...

