Perbedaan antara menggunakan gradlew dan gradle

229

Apa perbedaan antara menggunakan gradlewdan gradleatau apakah keduanya sama?

megalucio
sumber

Jawaban:

225

Perbedaannya terletak pada fakta yang ./gradlewmenunjukkan Anda menggunakan pembungkus gradle. Pembungkus umumnya merupakan bagian dari proyek dan memfasilitasi pemasangan gradle. Jika Anda menggunakan gradle tanpa pembungkus Anda harus menginstalnya secara manual - misalnya, pada mac brew install gradledan kemudian memanggil gradle menggunakan gradleperintah. Dalam kedua kasus Anda menggunakan gradle, tetapi yang pertama lebih nyaman dan memastikan konsistensi versi di berbagai mesin.

Setiap Wrapper terikat dengan versi spesifik Gradle, jadi ketika Anda pertama kali menjalankan salah satu perintah di atas untuk versi Gradle yang diberikan, ia akan mengunduh distribusi Gradle yang sesuai dan menggunakannya untuk menjalankan build.

Ini tidak hanya berarti Anda tidak harus menginstal Gradle sendiri secara manual, tetapi Anda juga yakin akan menggunakan versi Gradle yang dirancang untuk membangunnya. Ini membuat bangunan historis Anda lebih dapat diandalkan

Baca lebih lanjut di sini - https://docs.gradle.org/current/userguide/gradle_wrapper.html

Juga, Udacity memiliki video tingkat tinggi yang rapi dan menjelaskan konsep pembungkus gradle - https://www.youtube.com/watch?v=1aA949H-shk

Abhijit
sumber
8
Mungkin saya salah membacanya tetapi terdengar seperti bendera merah bagi saya. Kedengarannya seperti Gradle tidak kompatibel ke belakang, atau itu berkembang sangat cepat (dan tidak stabil). Apa yang terjadi dengan server CI yang tidak memiliki akses ke internet?
The Impaler
@TheImpaler Saya kira Anda harus menginstal semua versi Gradle yang diperlukan seperti yang dilakukan Wrapper jika memiliki akses Internet.
Ruslan
46

gradlewadalah pembungkus (karakter - w) yang menggunakan gradle.

Di bawah tenda gradlewmelakukan tiga hal utama:

  • Unduh dan instal gradleversi yang benar
  • Pisahkan argumen
  • Panggil gradletugas

Menggunakan Gradle Wrapper, kami dapat mendistribusikan / berbagi proyek kepada semua orang untuk menggunakan versi yang sama dan fungsionalitas Gradle (kompilasi, bangun, instal ...) walaupun itu belum diinstal.

Untuk membuat menjalankan pembungkus:

gradle wrapper

Perintah ini menghasilkan:

gradle-wrapper.properties akan berisi informasi tentang distribusi Gradle

yoAlex5
sumber