gradle
Грейд-обертка
Поиск…
Грейд-обертка и Гит
Как обсуждалось во введении, функциональность оболочки градиента работает, потому что в проект будет gradlew
который будет использоваться при gradlew
команды gradlew
. Однако это может не произойти, и после того, как в следующий раз проект будет извлечен, gradlew
не будет работать с ошибкой:
Error: Could not find or load main class org.gradle.wrapper.GradleWrapperMain
Это будет связано с тем, что ваш .gitignore, скорее всего, включает *jar
для проектов Java. Когда оболочка градиента была инициализирована, она копируется в файл gradle/wrapper/gradle-wrapper.jar
. Таким образом, вам нужно добавить его в индекс git и зафиксировать его. Сделайте это с помощью:
git add -f gradle/wrapper/gradle-wrapper.jar
git ci
С -f
, чтобы заставить его.
Введение
Gradle имеет возможность добавлять обертку к проектам. Эта оболочка устраняет необходимость использования всеми пользователями или системами непрерывной интеграции Gradle. Он также предотвращает проблемы с версиями, когда существует некоторая несовместимость между версией, которую использует проект, и тем, что пользователи установили. Он делает это, устанавливая версию градиента локально в проекте.
Пользователи проекта просто запускают:
> ./gradlew <task> # on *Nix or MacOSX
> gradlew <task> # on Windows
Чтобы настроить проект на использование обертки, разработчики:
- Выполнение:
gradle wrapper [--gradle-version 2.0]
Где --gradle-version X
является необязательной и, если она не указана (или задача оболочки не включена, как показано ниже), используемая версия является используемой версией градиента.
- Чтобы заставить проект использовать определенную версию, добавьте следующее в
build.gradle
:
task wrapper(type: Wrapper) {
gradleVersion = '2.0'
}
Когда выполняется gradle wrapper
она создает файлы:
the_project/
gradlew
gradlew.bat
gradle/wrapper/
gradle-wrapper.jar
gradle-wrapper.properties
Официальная документация по этой функции находится по адресу https://docs.gradle.org/current/userguide/gradle_wrapper.html .
Использовать локально поданный Грейдл в Обтекателе Грейдл
Если вы хотите сохранить локальную копию Gradle и позволить Wrapper использовать ее в сборках, вы можете установить distributionUrl
указывающий на вашу копию в задаче wrapper
:
task wrapper(type: Wrapper) {
gradleVersion = '2.0'
distributionUrl = "http\://server/dadada/gradle-${gradleVersion}-bin.zip"
}
после выполнения gradle wrapper
оболочки gradlew
сценарий оболочки gradlew
а параметр gradle/wrapper/gradle-wrapper.properties
настроен на использование предоставленного URL для загрузки Gradle.
Использование оберточной машины за прокси-сервером
В первый раз, когда пользователь запускает gradlew
проекта, следует понимать, что он будет делать две ключевые вещи:
- Убедитесь, что версия градиента, используемая оберткой, уже находится в ~ / .gradle / wrapper / dists
- Если нет, загрузите архив версии из Интернета
Если вы находитесь в среде, которая требует, чтобы весь внешний трафик проходил через прокси-сервер, второй шаг будет терпеть неудачу (если только это не прозрачная среда прокси). В результате вы должны убедиться, что у вас установлены параметры прокси-сервера JVM .
Например, если у вас есть базовая настройка прокси без аутентификации, просто установите переменную среды JAVA_OPTS
или GRADLE_OPTS
с помощью:
-Dhttps.proxyPort=<proxy_port> -Dhttps.proxyHost=<hostname>
Таким образом, завершенный пример для окон:
set JAVA_OPTS=-Dhttps.proxyPort=8080 -Dhttps.proxyHost=myproxy.mycompany.com
Если, однако, ваша среда также требует аутентификации, вы также захотите просмотреть свои другие параметры на странице https://docs.oracle.com/javase/8/docs/api/java/net/doc-files/net-properties. html .
ПРИМЕЧАНИЕ. Эта конфигурация прокси-сервера дополняет любую конфигурацию прокси-сервера для доступа к репозиториям зависимостей.