serve o Gradle ◦ Por que o Gradle é tão popular ◦ Como o Gradle funciona • Build cache no Gradle ◦ Como funciona o build cache ◦ Incremental builds ◦ Local build cache ◦ Remote build cache • Problemas comuns ◦ Fundamentos ◦ Como resolver? • Referências • Agradecimentos e Perguntas
ferramenta de automação de builds utilizada para compilar, testar, empacotar e distribuir projetos de software. • Amplamente utilizado em projetos Android, Java e em diversas outras linguagens.
Gradle é altamente otimizado, com suporte a builds incrementais e cache local/remoto, o que reduz significativamente o tempo de execução. 2. Flexibilidade Ele suporta várias linguagens (Java, Kotlin, Groovy, Scala, etc.) e plataformas, permitindo customização avançada com scripts. 3. Compatibilidade O Gradle é uma escolha padrão para projetos Android devido à sua integração nativa com o Android Studio.
do software em projetos e tarefas: • Projeto : Uma unidade maior, como um módulo ou aplicação inteira. • Tarefa : Uma ação específica dentro do projeto, como compileJava ou assembleDebug.
recurso que armazena resultados de tarefas de build para reutilização posterior, evitando o processamento redundante. Ele melhora o desempenho ao reutilizar saídas já computadas sempre que possível. Exemplo prático Imagine uma tarefa que compila arquivos Java. Se nada foi alterado desde o último build, o Gradle reaproveita os arquivos já compilados em vez de recompilá-los.
• Habilitado por padrão • Limitação de apenas guardar o último registro da tarefa • Salvo no diretório /build do projeto ou módulo • UP-TO-DATE Label - Tarefa não executada, foi usado o último output
(2017) • Precisa ser habilitado (vem desabilitado por default) • Guarda mais de um registro de tarefa • Salvo no diretório ~/.gradle/caches/build-cache-1 (padrão) • FROM-CACHE Label - Tarefa não estava no build, mas foi utilizado do cache
line ◦ ./gradlew compileKotlin –build-cache • Atualizando o arquivo gradle.properties ◦ org.gradle.cachig=true ◦ Para desabilitar precisa usar no command line –no-build-cache
das builds locais ◦ O primeiro build sempre é do zero (from scratch) ◦ Rapidamente pode ser mudado em projetos grandes ▪ Onde você precisa fazer pull frequentemente ◦ CI em máquinas efêmeras não fazem proveito de cache ◦ Quando você volta de férias :D
(2017) • Precisa ser configurado • É recomendado a publicação apenas na sua esteira de CI • Compartilhar cache entre o time de desenvolvimento • FROM-CACHE Label - Tarefa não estava no build, não estava no cache local, foi usado o cache remoto