Diferencia entre usar gradlew y gradle
¿ Cuál es la diferencia entre usar gradlew
y gradle
o son iguales?
La diferencia radica en el hecho de que ./gradlew
indica que estás utilizando un contenedor Gradle. El envoltorio generalmente es parte de un proyecto y facilita la instalación de Gradle. Si estuviera usando gradle sin el contenedor, tendría que instalarlo manualmente, por ejemplo, en una Mac brew install gradle
y luego invocar gradle usando el gradle
comando. En ambos casos está utilizando gradle, pero el primero es más conveniente y garantiza la coherencia de las versiones en diferentes máquinas.
Cada Wrapper está vinculado a una versión específica de Gradle, por lo que cuando ejecuta por primera vez uno de los comandos anteriores para una versión determinada de Gradle, descargará la distribución de Gradle correspondiente y la usará para ejecutar la compilación.
Esto no solo significa que no tienes que instalar Gradle manualmente, sino que también estás seguro de usar la versión de Gradle para la que está diseñada la compilación. Esto hace que tus compilaciones históricas sean más confiables.
Lea más aquí: https://docs.gradle.org/current/userguide/gradle_wrapper.html
Además, Udacity tiene un video claro y de alto nivel que explica el concepto del contenedor Gradle: https://www.youtube.com/watch?v=1aA949H-shk
gradle vs gradlew
gradlew
es un contenedor (w - carácter) que usa gradle
.
Debajo del capó gradlew
se realizan tres cosas principales:
- Descargue e instale la
gradle
versión correcta - Analizar los argumentos
- llamar a una
gradle
tarea
Usando Gradle Wrapper podemos distribuir/compartir un proyecto con todos para usar la misma versión y funcionalidad de Gradle (compilar, compilar, instalar...) incluso si no se ha instalado.
Para crear una ejecución contenedora:
gradle wrapper
Este comando genera:
gradle-wrapper.properties
contendrá la información sobre la distribución de Gradle
* ./
Se utiliza en Unix para especificar el directorio actual.