Учебники

Gradle — управление зависимостями

Скрипт сборки Gradle определяет процесс сборки проектов; каждый проект содержит некоторые зависимости и некоторые публикации. Зависимости означают вещи, которые поддерживают создание вашего проекта, такие как требуемый файл JAR из других проектов и внешние JAR, такие как JDBC JAR или Eh-cache JAR в пути к классам. Публикации означают результаты проекта, такие как файлы тестовых классов и файлы сборки, такие как файлы war.

Все большинство всех проектов не являются самостоятельными. Им нужны файлы, созданные другими проектами для компиляции и тестирования исходных файлов. Например, чтобы использовать Hibernate в проекте, вам нужно включить некоторые JAR-файлы Hibernate в classpath. Gradle использует специальный скрипт для определения зависимостей, которые необходимо загрузить.

Gradle позаботится о создании и публикации результатов где-нибудь. Публикация основана на задаче, которую вы определяете. Возможно, вы захотите скопировать файлы в локальный каталог или загрузить их в удаленный репозиторий Maven или lvy, или вы можете использовать файлы из другого проекта в той же многопроектной сборке. Мы можем назвать процесс публикации задачи публикацией.

Объявление ваших зависимостей

Конфигурация зависимостей — это не что иное, как набор множеств зависимостей. Вы можете использовать эту функцию для объявления внешних зависимостей средствами, которые вы хотите загрузить из Интернета. Это определяет различные стандарты, такие как следующие.

apply plugin: 'java'

repositories {
   mavenCentral()
}

dependencies {
   compile group: 'org.hibernate', name: 'hibernate-core', version: '3.6.7.Final'
   testCompile group: 'junit', name: 'junit', version: '4.+'
}

Конфигурации зависимостей

Конфигурация зависимостей — это не что иное, как набор зависимостей. Вы можете использовать эту функцию для объявления внешних зависимостей, которые вы хотите загрузить из Интернета. Это определяет следующие различные стандартные конфигурации.

  • Компилировать — зависимости, необходимые для компиляции производственного источника проекта.

  • Runtime — зависимости, необходимые производственным классам во время выполнения. По умолчанию также включает зависимости времени компиляции.

  • Тестовая компиляция — зависимости, необходимые для компиляции исходного кода проекта. По умолчанию он включает скомпилированные производственные классы и зависимости времени компиляции.

  • Test Runtime — зависимости, необходимые для запуска тестов. По умолчанию он включает зависимости времени выполнения и тестовой компиляции.

Компилировать — зависимости, необходимые для компиляции производственного источника проекта.

Runtime — зависимости, необходимые производственным классам во время выполнения. По умолчанию также включает зависимости времени компиляции.

Тестовая компиляция — зависимости, необходимые для компиляции исходного кода проекта. По умолчанию он включает скомпилированные производственные классы и зависимости времени компиляции.

Test Runtime — зависимости, необходимые для запуска тестов. По умолчанию он включает зависимости времени выполнения и тестовой компиляции.

Внешние зависимости

Внешние зависимости относятся к типу зависимостей. Это зависимость от некоторых файлов, созданных вне текущей сборки и хранящихся в каком-либо репозитории, таком как Maven central, или в корпоративном репозитории Maven или lvy, или в каталоге в локальной файловой системе.

Следующий фрагмент кода предназначен для определения внешней зависимости. Используйте этот код в файле build.gradle .

dependencies {
   compile group: 'org.hibernate', name: 'hibernate-core', version: '3.6.7.Final'
}

Внешняя зависимость объявляет внешние зависимости, а форма ярлыка выглядит как «группа: имя: версия».

Хранилища

При добавлении внешних зависимостей. Gradle ищет их в хранилище. Репозиторий — это просто набор файлов, упорядоченный по группам, именам и версиям. По умолчанию Gradle не определяет никаких репозиториев. Мы должны определить хотя бы одно хранилище явно. Следующий фрагмент кода определяет, как определить хранилище maven. Используйте этот код в файле build.gradle .

repositories {
   mavenCentral()
}

Следующий код предназначен для определения удаленного Maven. Используйте этот код в файле build.gradle .

repositories {
   maven {
      url "http://repo.mycompany.com/maven2"
   }
}

Издательские артефакты

Конфигурации зависимостей также используются для публикации файлов. Эти опубликованные файлы называются артефактами. Обычно мы используем плагины для определения артефактов. Тем не менее, вам нужно указать Gradle, где публиковать артефакты. Вы можете достичь этого, прикрепив репозитории к задаче загрузки архивов. Взгляните на следующий синтаксис публикации репозитория Maven. При выполнении Gradle создаст и загрузит Pom.xml в соответствии с требованиями проекта. Используйте этот код в файле build.gradle .