Diferença entre usar gradlew e gradle

229

Qual é a diferença entre usar gradlewe gradleou são iguais?

megalucio
fonte

Respostas:

225

A diferença está no fato de ./gradlewindicar que você está usando um wrapper gradle. O invólucro geralmente faz parte de um projeto e facilita a instalação do gradle. Se você estivesse usando o gradle sem o wrapper, teria que instalá-lo manualmente - por exemplo, em um mac brew install gradlee depois chamar o gradle usando o gradlecomando Nos dois casos, você está usando o gradle, mas o primeiro é mais conveniente e garante a consistência da versão em diferentes máquinas.

Cada Wrapper está vinculado a uma versão específica do Gradle; portanto, quando você executa um dos comandos acima para uma determinada versão do Gradle, ele faz o download da distribuição Gradle correspondente e a utiliza para executar a compilação.

Isso não significa apenas que você não precisa instalar o Gradle manualmente, mas também usará a versão do Gradle para a qual a compilação foi projetada. Isso torna suas construções históricas mais confiáveis

Leia mais aqui - https://docs.gradle.org/current/userguide/gradle_wrapper.html

Além disso, o Udacity possui um vídeo limpo e de alto nível que explica o conceito do wrapper gradle - https://www.youtube.com/watch?v=1aA949H-shk

Abhijit
fonte
8
Talvez eu esteja lendo errado, mas me pareça uma bandeira vermelha. Parece que o Gradle não é compatível com versões anteriores ou está evoluindo muito rápido (e instável). O que acontece com os servidores de CI que não têm acesso à Internet?
O Empalador
@ TheImpaler Acho que você precisa instalar todas as versões necessárias do Gradle como o Wrapper faria se tivesse acesso à Internet.
Ruslan
46

gradlewé um invólucro (caractere w) usado gradle.

Sob o capô gradlewrealiza três coisas principais:

  • Baixe e instale a gradleversão correta
  • Analisar os argumentos
  • Chamar uma gradletarefa

Usando o Gradle Wrapper, podemos distribuir / compartilhar um projeto para todos, para usar a mesma versão e a funcionalidade do Gradle (compilar, construir, instalar ...), mesmo que não tenha sido instalado.

Para criar uma execução de wrapper:

gradle wrapper

Este comando gera:

gradle-wrapper.properties conterá as informações sobre a distribuição Gradle

yoAlex5
fonte