Différence entre l'utilisation de Gradlew et Gradle

229

Quelle est la différence entre l'utilisation gradlewet gradleou sont-ils les mêmes?

megalucio
la source

Réponses:

225

La différence réside dans le fait que ./gradlewvous utilisez un wrapper gradle. L'emballage fait généralement partie d'un projet et facilite l'installation du gradle. Si vous utilisiez gradle sans le wrapper, vous devrez l'installer manuellement - par exemple, sur un mac brew install gradle, puis appeler gradle à l'aide de la gradlecommande. Dans les deux cas, vous utilisez gradle, mais le premier est plus pratique et garantit la cohérence de la version sur différentes machines.

Chaque wrapper est lié à une version spécifique de Gradle, donc lorsque vous exécutez une des commandes ci-dessus pour une version Gradle donnée, il télécharge la distribution Gradle correspondante et l'utilise pour exécuter la construction.

Non seulement cela signifie que vous n'avez pas besoin d'installer manuellement Gradle vous-même, mais vous êtes également sûr d'utiliser la version de Gradle pour laquelle la version est conçue. Cela rend vos constructions historiques plus fiables

En savoir plus ici - https://docs.gradle.org/current/userguide/gradle_wrapper.html

En outre, Udacity a une vidéo soignée et de haut niveau expliquant le concept de l'emballage gradle - https://www.youtube.com/watch?v=1aA949H-shk

Abhijit
la source
8
Peut-être que je le lis mal mais sonne comme un drapeau rouge pour moi. Il semble que Gradle ne soit pas rétrocompatible ou qu'il évolue très rapidement (et instable). Que se passe-t-il avec les serveurs CI qui n'ont pas accès à Internet?
The Impaler
@TheImpaler Je suppose que vous devez installer toutes les versions requises de Gradle comme le ferait Wrapper s'il avait accès à Internet.
Ruslan
46

gradlewest un wrapper (w - caractère) qui utilise gradle.

Sous le capot gradlewremplit trois fonctions principales:

  • Téléchargez et installez la bonne gradleversion
  • Analyser les arguments
  • Appeler une gradletâche

En utilisant Gradle Wrapper, nous pouvons distribuer / partager un projet à tout le monde pour utiliser la même version et les fonctionnalités de Gradle (compiler, construire, installer ...) même si elles n'ont pas été installées.

Pour créer une exécution d'encapsuleur:

gradle wrapper

Cette commande génère:

gradle-wrapper.properties contiendra les informations sur la distribution Gradle

yoAlex5
la source