Skip to main content

Gradle e Gradlew | Flutter

  • Gradle e Gradlew | Flutter
info

A variável de ambiente chamada GRADLE_USER_HOME é usada para definir o local do diretório onde o Gradle armazena seus arquivos relacionados ao usuário, como caches, distribuições de Gradle, repositórios locais, entre outros.

O gradlew é o Gradle Wrapper, uma ferramenta que permite que um projeto utilize uma versão específica do Gradle sem que você precise instalá-lo globalmente no seu sistema.

Detalhes do gradlew

  • Arquivos associados:
    • gradlew ou gradlew.bat:
      • Scripts que invocam o Gradle Wrapper.
      • No Linux/Mac: gradlew.
      • No Windows: gradlew.bat.
    • gradle/wrapper/gradle-wrapper.properties:
      • Define a versão do Gradle que será usada e onde baixá-la.
    • gradle-wrapper.jar:
      • Biblioteca que faz o download e inicializa a versão correta do Gradle.

Por que usar o gradlew?

  1. Consistência de versões:
    • Garante que todos os desenvolvedores e servidores CI/CD usem a mesma versão do Gradle definida no projeto.
  2. Independência da instalação global:
    • Mesmo que o Gradle não esteja instalado no sistema, o gradlew fará o download da versão correta automaticamente.
  3. Portabilidade:
    • Permite compartilhar o projeto sem a necessidade de configurar o Gradle manualmente.

Quando usar o gradlew?

Use sempre o gradlew ao invés do comando gradle, especialmente em projetos colaborativos ou quando o projeto depende de uma versão específica do Gradle.

Como funciona?

  1. Primeiro uso:
    • Ao executar ./gradlew ou gradlew.bat pela primeira vez, ele verifica a versão definida em gradle-wrapper.properties e faz o download do Gradle necessário, armazenando-o no cache local.
  2. Execução subsequente:
    • Nas execuções seguintes, ele reutiliza a versão baixada.

Comandos com gradlew

Os comandos comuns do Gradle podem ser usados com o Wrapper:

  • Para compilar o projeto:
    ./gradlew build
  • Para limpar o projeto:
    ./gradlew clean
  • Para rodar testes:
    ./gradlew test

Resumo

O gradlew é essencial para garantir consistência, portabilidade e simplicidade no gerenciamento de projetos Gradle. Sempre que estiver trabalhando com um projeto que inclua o Wrapper, prefira usá-lo ao invés de usar o Gradle instalado globalmente.

O Gradle é uma ferramenta de automação de build moderna e poderosa, amplamente usada no desenvolvimento de software. Ele facilita tarefas como compilação de código, execução de testes, empacotamento de aplicações e gerenciamento de dependências.

Principais características do Gradle

  1. Automação de build:

    • Permite automatizar o processo de construção (build) de projetos, como a compilação, testes, criação de pacotes e publicação.
  2. Versatilidade:

    • Suporta diversos tipos de projetos, como aplicativos Android, projetos Java, Kotlin, Scala, Groovy, e até linguagens nativas como C++.
  3. Baseado em scripts:

    • Configurado usando scripts em Groovy ou Kotlin.
    • Arquivos de configuração típicos:
      • build.gradle ou build.gradle.kts (Kotlin).
      • settings.gradle ou settings.gradle.kts.
  4. Gerenciamento de dependências:

    • Integra-se a repositórios como Maven Central e JCenter para baixar e gerenciar bibliotecas e plugins necessários ao projeto.
  5. Desempenho:

    • Gradle usa builds incrementais, onde apenas partes modificadas do projeto são reconstruídas.
    • Faz cache de tarefas de build para evitar execução desnecessária de etapas.

Por que usar o Gradle?

  1. Produtividade:
    • Automação reduz o esforço manual em processos repetitivos.
  2. Consistência:
    • Garante que o build funcione da mesma forma em diferentes máquinas.
  3. Flexibilidade:
    • Pode ser configurado para atender a necessidades específicas do projeto.
  4. Escalabilidade:
    • Suporta projetos grandes e complexos, com vários módulos e dependências.

Componentes do Gradle

  1. Build Script:

    • Arquivo principal que define como o projeto deve ser construído.
    • Exemplo de um arquivo build.gradle básico para um projeto Java:
      plugins {
      id 'java'
      }

      repositories {
      mavenCentral()
      }

      dependencies {
      implementation 'org.springframework:spring-core:5.3.10'
      }
  2. Tasks:

    • Ações individuais que o Gradle executa, como compilar código ou rodar testes.
    • Exemplos:
      gradle build    # Compila o projeto
      gradle clean # Limpa os arquivos gerados no build
      gradle test # Roda os testes do projeto
  3. Plugins:

    • Adicionam funcionalidades específicas ao projeto, como suporte para Android ou Spring Boot.

Uso no Desenvolvimento Android

  • O Gradle é a ferramenta oficial de build para projetos Android.
  • No Android, o Gradle ajuda a:
    1. Gerar arquivos APK ou AAB.
    2. Gerenciar dependências.
    3. Configurar diferentes versões do aplicativo (debug, release, etc.).

Arquivos de configuração típicos em projetos Android:

  • build.gradle (aplicativo e módulo).
  • gradle-wrapper.properties (define a versão do Gradle).

Vantagens do Gradle

  1. Integração contínua:
    • Compatível com ferramentas como Jenkins, GitLab CI, e Travis CI.
  2. Performance otimizada:
    • Reutiliza resultados de builds anteriores.
  3. Fácil personalização:
    • Permite criar tasks e configurações específicas.

Como instalar e usar o Gradle

  1. Instalação:

    • Baixe e instale a versão mais recente no site oficial: Gradle Downloads.
    • Adicione o Gradle ao PATH do sistema.
    • Verifique a instalação:
      gradle -v
  2. Uso básico:

    • Inicialize um projeto:
      gradle init
    • Execute o build:
      gradle build

Resumo

O Gradle é uma ferramenta indispensável para gerenciar o ciclo de vida de desenvolvimento de software, otimizando e automatizando processos. Ele combina flexibilidade, desempenho e recursos avançados, sendo amplamente adotado em projetos modernos, especialmente no desenvolvimento Android.