Estrutura de Gradle e Multi-Project
Estou tentando entender como devo abordar a seguinte configuração do projeto:
┌Top Android Project
│
├── Project 1 - (Pure Java Modules)
│ │
│ ├── Module A1
│ ├── Module B1
│ :
│ └── Module Z1
│
├── Project 2 - (Android Libraries Modules)
│ │
│ ├── Module A2
│ ├── Module B2
│ :
│ └── Module Z2
│
└── Module - Actual Android Project
Na configuração atual eu tenho há um build.gradle em cada um dos módulos, o que eu realmente odeio sobre essa configuração é que todo o conteúdo do build.gradle é duplicado entre os módulos.
Fato é que eu gostaria da mesma lógica na maioria deles 'Módulos Java puros'são todos os módulos infra, que eu gostaria de jar a saída, o JavaDoc e fontes e implantar em algum repositório remoto (* padrão).
Por outro lado, alguns módulos do 'Módulos Java puros'Eu gostaria de ter uma segunda agenda, por exemplo, além do padrão * build eu gostaria de implantar um jar com dependências para um projeto específico, ou algo parecido.
Ao construir oProjeto Android realEu gostaria que os módulos compilassem no padrão * build e, finalmente, configurassem um build.gradle padrão para todos os meus projetos Android, que são muito poucos, e eu não gostaria de duplicar esse arquivo.
================================================== =============
Eu acho que o que eu estou procurando é algo como Maven pai pom, mas desde que eu não entendo completamente como Gradle funciona, eu estou abrindo isso para vocês compartilharem seus pensamentos ...
Levando em consideração que a duplicação do mesmo arquivo de compilação é (eu ouso dizer) inaceitável, devido ao fato de que talvez eu queira alterar algo em toda a lógica de compilação de todos os módulos
Qual seria a melhor abordagem para lidar com esse tipo de configuração?