Differenza tra l'utilizzo di gradlew e gradle


229

Qual è la differenza tra l'utilizzo gradlewe la gradleo sono la stessa cosa?

Risposte:


225

La differenza sta nel fatto che ./gradlewindica che stai usando un wrapper gradle. Il wrapper è generalmente parte di un progetto e facilita l'installazione del gradle. Se si utilizza Gradle senza il wrapper, è necessario installarlo manualmente, ad esempio su un Mac brew install gradlee quindi richiamare Gradle utilizzando il gradlecomando. In entrambi i casi si utilizza Gradle, ma il primo è più conveniente e garantisce la coerenza della versione su macchine diverse.

Ogni wrapper è legato a una versione specifica di Gradle, quindi quando si esegue per la prima volta uno dei comandi sopra per una data versione di Gradle, scaricherà la distribuzione Gradle corrispondente e la utilizzerà per eseguire la build.

Questo non significa solo che non è necessario installare manualmente Gradle, ma si è sicuri di utilizzare anche la versione di Gradle per cui è stata progettata la build. Questo rende le tue build storiche più affidabili

Maggiori informazioni qui - https://docs.gradle.org/current/userguide/gradle_wrapper.html

Inoltre, Udacity ha un video pulito e di alto livello che spiega il concetto di gradle wrapper - https://www.youtube.com/watch?v=1aA949H-shk


8
Forse sto leggendo male ma mi sembra una bandiera rossa. Sembra che Gradle non sia compatibile con le versioni precedenti o che si stia evolvendo molto velocemente (e instabile). Cosa succede con i server CI che non hanno accesso a Internet?
The Impaler,

@TheImpaler Immagino che tu debba installare tutte le versioni richieste di Gradle come farebbe Wrapper se avesse accesso a Internet.
Ruslan,

46

gradlewè un wrapper (carattere w) che usa gradle.

Under the hood gradlewesegue tre cose principali:

  • Scarica e installa la gradleversione corretta
  • Analizza gli argomenti
  • Chiama gradleun'attività

Usando Gradle Wrapper possiamo distribuire / condividere un progetto a tutti per usare la stessa versione e le funzionalità di Gradle (compilare, costruire, installare ...) anche se non è stato installato.

Per creare una corsa wrapper:

gradle wrapper

Questo comando genera:

gradle-wrapper.properties conterrà le informazioni sulla distribuzione Gradle

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.