gradle
Envoltura gradle
Buscar..
Gradle Wrapper y Git
Como se discutió en la introducción, la funcionalidad de envoltura de gradle funciona porque se descarga un archivo en el proyecto que se utilizará cuando se gradlew
comando gradlew
. Sin embargo, es posible que esto no se gradlew
y después de la próxima vez que se retire el proyecto, gradlew
no se ejecutará con el error:
Error: Could not find or load main class org.gradle.wrapper.GradleWrapperMain
Esto se debe a que su .gitignore probablemente incluirá *jar
para proyectos Java. Cuando se inicializó el contenedor de gradle, se copia en el archivo gradle/wrapper/gradle-wrapper.jar
. Por lo tanto, es necesario agregarlo al índice git y confirmarlo. Hacerlo con
git add -f gradle/wrapper/gradle-wrapper.jar
git ci
Con el -f
ser de forzarlo.
Introducción a Gradle Wrapper
Gradle tiene la capacidad de agregar una envoltura a los proyectos. Esta envoltura alivia la necesidad de que todos los usuarios o sistemas de integración continua tengan instalado Gradle. También evita los problemas de versión en los que existe cierta incompatibilidad entre la versión que usa el proyecto y la que los usuarios han instalado. Lo hace instalando una versión de gradle localmente en el proyecto.
Los usuarios del proyecto simplemente ejecutan:
> ./gradlew <task> # on *Nix or MacOSX
> gradlew <task> # on Windows
Para configurar un proyecto para usar un contenedor, los desarrolladores:
- Ejecutar:
gradle wrapper [--gradle-version 2.0]
Donde --gradle-version X
es opcional y si no se proporciona (o la tarea de envoltura no se incluye, como se muestra a continuación), la versión utilizada es la versión de gradle que se está utilizando.
- Para forzar al proyecto a usar una versión específica, agregue lo siguiente a
build.gradle
:
task wrapper(type: Wrapper) {
gradleVersion = '2.0'
}
Cuando se gradle wrapper
comando gradle wrapper
crea los archivos:
the_project/
gradlew
gradlew.bat
gradle/wrapper/
gradle-wrapper.jar
gradle-wrapper.properties
La documentación oficial sobre esta función se encuentra en https://docs.gradle.org/current/userguide/gradle_wrapper.html .
Utilice Gradle servido localmente en el envoltorio Gradle
Si desea mantener una copia local del Gradle y dejar que el Wrapper lo use en las compilaciones, puede establecer el distributionUrl
apuntando a su copia en la tarea del wrapper
:
task wrapper(type: Wrapper) {
gradleVersion = '2.0'
distributionUrl = "http\://server/dadada/gradle-${gradleVersion}-bin.zip"
}
después de ejecutar gradle wrapper
, se crea el script de shell gradlew
y gradle/wrapper/gradle-wrapper.properties
se configura para usar la URL proporcionada para descargar el Gradle.
Usando el Gradle Wrapper detrás de un proxy
La primera vez que un usuario ejecuta un proyecto de gradlew
, debe darse cuenta de que hará dos cosas clave:
- Compruebe si la versión del gradle utilizada por el contenedor ya está en ~ / .gradle / wrapper / dists
- Si no, descarga el archivo de la versión desde internet.
Si se encuentra en un entorno que requiere que todo el tráfico externo pase por un proxy, el paso dos fallará (a menos que sea un entorno de proxy transparente). Como resultado, debe asegurarse de que tiene configurados los parámetros de proxy JVM .
Por ejemplo, si tiene una configuración de proxy básica sin autenticación, simplemente configure la variable de entorno JAVA_OPTS
o GRADLE_OPTS
con:
-Dhttps.proxyPort=<proxy_port> -Dhttps.proxyHost=<hostname>
Así que un ejemplo completo en Windows sería:
set JAVA_OPTS=-Dhttps.proxyPort=8080 -Dhttps.proxyHost=myproxy.mycompany.com
Sin embargo, si su entorno también requiere autenticación, también querrá revisar sus otras opciones en https://docs.oracle.com/javase/8/docs/api/java/net/doc-files/net-properties. html .
NOTA: Esta configuración de proxy es adicional a cualquier configuración de proxy para el acceso al repositorio de dependencias.