GradleTools
Получение библиотек из репозиториев maven
Библиотеки располагаются в каталоге lib
проекта в виде jar
-файлов и zip
-файлов
с исходниками библиотеки.
Для библиотек, которые доступны в maven-репозиторях, имеется возможность описывать их декларативно, не скачивая их ручками.
Для включения этой возможности, в каталоге lib
нужно создать project.jc
.
Выполните команду в корне проекта для создания файла lib/project.jc
:
jc create -t:lib-project-jc
Будет создан примерно такой файл lib/project.jc
:
import jandcode.jc.*
import jandcode.jc.std.*
import jandcode.commons.*
class P extends ProjectScript {
void onInclude() {
project.name = "lib-builder"
include(GradleTools).with {
publishDir = "../_jc/${project.name}"
tempDir = "../temp/${project.name}"
}
}
}
и такой файл lib/lib.gradle
:
repositories {
mavenCentral()
}
dependencies {
// compile "commons-io:commons-io:2.6"
}
В файле lib.gradle
описываются зависисимости, так, как этого желает gradle
.
Описав нужные библиотеки, перейдите в каталог корневого проекта и выполните любую
команду, например просто jc
.
Описанные библиотеки будут автоматически скачены и помещены в каталог _jc
.
Теперь они доступны наравне с обычными, помещенными в lib
ручками, но не будут
хранится в системе контроля версий.
Кроме того, если вы в процессе разработки добавите/удалите/измените состав
библиотек, то они автоматически будут загружены вновь при любом выполнении jc
.
Библиотека определенной версии фактически загружается на вашу рабочую
станцию только один раз и помещается в кеш gradle
, и в следующий раз будет браться оттуда.
Свойства GradleTools
publishDir
- указывает каталог, в который будут скачаныjar
иzip
файлы. Нужно указать каталог, который находится вне каталогаlib
и игнорируется системой контроля версийtempDir
- указывает временный каталог, в котором будет происходить сборка. Нужно указать каталог, который находится вне каталогаlib
и игнорируется системой контроля версий
Заметки
Где брать библиотеки
Советую отличный сайт mvnrepository.com.