Unterschied zwischen Gradlew und Gradle

229

Was ist der Unterschied zwischen der Verwendung von gradlewund gradleoder sind sie gleich?

Megalucio
quelle

Antworten:

225

Der Unterschied liegt in der Tatsache, dass ./gradlewSie einen Gradle-Wrapper verwenden. Der Wrapper ist in der Regel Teil eines Projekts und erleichtert die Installation von Gradle. Wenn Sie gradle ohne den Wrapper verwenden würden, müssten Sie ihn manuell installieren - beispielsweise auf einem Mac - brew install gradleund dann gradle mit dem gradleBefehl aufrufen . In beiden Fällen verwenden Sie gradle. Ersteres ist jedoch bequemer und gewährleistet die Versionskonsistenz auf verschiedenen Computern.

Jeder Wrapper ist an eine bestimmte Version von Gradle gebunden. Wenn Sie also zum ersten Mal einen der obigen Befehle für eine bestimmte Gradle-Version ausführen, wird die entsprechende Gradle-Distribution heruntergeladen und zum Ausführen des Builds verwendet.

Dies bedeutet nicht nur, dass Sie Gradle nicht manuell installieren müssen, sondern Sie müssen auch die Version von Gradle verwenden, für die der Build entwickelt wurde. Dies macht Ihre historischen Builds zuverlässiger

Lesen Sie hier mehr - https://docs.gradle.org/current/userguide/gradle_wrapper.html

Außerdem hat Udacity ein ordentliches Video auf hoher Ebene, das das Konzept des Gradle-Wrappers erklärt - https://www.youtube.com/watch?v=1aA949H-shk

Abhijit
quelle
8
Vielleicht lese ich es falsch, aber es klingt für mich wie eine rote Fahne. Es klingt so, als ob Gradle nicht abwärtskompatibel ist oder sich sehr schnell (und instabil) entwickelt. Was passiert mit CI-Servern, die keinen Internetzugang haben?
Der Impaler
@TheImpaler Ich denke, Sie müssen alle erforderlichen Versionen von Gradle wie den Wrapper installieren, wenn er über einen Internetzugang verfügt.
Ruslan
46

gradlewist ein Wrapper (w - Zeichen), der verwendet gradle.

Unter der Haube werden gradlewdrei Hauptaufgaben ausgeführt:

  • Laden Sie die richtige gradleVersion herunter und installieren Sie sie
  • Analysieren Sie die Argumente
  • Rufen Sie eine gradleAufgabe auf

Mit Gradle Wrapper können wir ein Projekt an alle verteilen / freigeben, um dieselbe Version und die Funktionen von Gradle (Kompilieren, Erstellen, Installieren ...) zu verwenden, auch wenn es nicht installiert wurde.

So erstellen Sie einen Wrapper-Lauf:

gradle wrapper

Dieser Befehl generiert:

gradle-wrapper.properties enthält die Informationen zur Gradle-Verteilung

yoAlex5
quelle