Entendendo um pouco da ferramenta de automação default usada no Android Studio
O Gradle é utilizado a quase todo momento em um projeto Android. O Android Studio já inicializa os projetos usando essa ferramenta de automação de buils. Atualmente ela é altamente sugerida em projetos Android.
Syntax e linguagem
O arquivo build.gradle contém diversas instruções para compilar um projeto Android. É lá que colocamos
as dependencias do projeto, como bibliotecas de terceiros.
A linguagem utilizada pelo Gradle é o Groovy. Groovy é uma linguagem muito baseada em closures, que basicamente são blocos de código com parâmetros e retornos que são associados normalmente a alguma variável. É algo semelhante a interface Future por exemplo.
No exemplo acima a variável myVar recebe um closure. Esse closure por sua vez recebe 2 parametros, uma String e um int. Os tipos poderiam ser omitidos. Em seguida o closure é chamado e temos o output.
Gradle scripts
Você pode rodar manualmente as tarefas do build.gradle pelo terminal ou mesmo criar novas tasks.
Por exemplo, no seu build.gradle adicione a tarefa abaixo:
E pelo terminal, acesse a raiz do projeto e execute gradle tasks. Se você nunca rodou o gradle por fora
do Android Studio você precisará adicioná-lo antes ao seu classpath. O download do Gradle pode ser feito no própio site.
Ao rodar o comando gradle tasks você verá apenas o print "Configuration stage". Isso porque todas as tasks do Gradle serão configuradas, mesmo que não executadas. Essa é a etapa chamada Configuration stage. Para rodar efetivamente sua task, execute gradle myTask. Agora o build irá rodar a sua task, dando o print em "Execution stage".
build.gradle
Agora podemos olhar o build.gradle e entender um pouco mais do que acontece ali.
Repare que temos uma chamada a um script chamado Buildscript que recebe um closure. Assim como temos um script chamado allprojects, que tabém recebe closures com seus parâmetros.
Essas chamadas pré-definidas vem da interface Project do Gradle. É
através dela que temos acesso as features do Gradle.
Continuando...
Dois links interessantes para continuar seus estudos com Gradle:
Gradle Tips #1 - Séria de posts recentes.
Gradle for Android e Java - Curso da Udacity sobre Gradle
comments powered by Disqus