5.3.1. build.gradle
В данном разделе описывается структура и основные элементы скрипта build.gradle
.
В секции buildscript
задается следующее:
-
Версия базовых проектов, на которой основан данный проект.
-
Набор репозиториев, из которых будут загружаться зависимости проекта. Когда вы создаете новый проект в CUBA Studio, он содержит ссылку на репозиторий, который указан в окне сервера Studio. По умолчанию это публичный репозиторий:
https://repo.cuba-platform.com/content/groups/work
Если ваш проект использует Премиум Дополнения, Studio добавляет еще один репозиторий:
https://repo.cuba-platform.com/content/groups/premium
Оба репозитория требуют указания имени пользователя и пароля. В то время как публичный репозиторий использует общеизвестные параметры, указанные прямо в скрипте сборки (
cuba
/cuba123
), параметры подключения к репозиторию дополнений предоставляются по подписке на разработчика. Первая часть лицензионного ключа до тире представляет собой имя пользователя, вторая часть после тире - пароль. Например, если ваш ключ111111222222-abcdefabcdef
, то имя -111111222222
, пароль -abcdefabcdef
Studio передает Gradle параметры подключения когда запускает скрипт сборки. При сборке проекта вне Studio передайте
premiumRepoUser
иpremiumRepoPass
в командной строке в аргументах-P
:gradle assemble -PpremiumRepoUser=111111222222 -PpremiumRepoPass=abcdefabcdef
После секции buildscript
обявляются несколько переменных, используемых далее в скрипте.
Логика сборки, специфичная для CUBA, сосредоточена в Gradle плагине cuba
. Он подключается в корне скрипта и в секциях configure
каждого модуля:
apply(plugin: 'cuba')
Параметры плагина cuba задаются в секции cuba
:
cuba {
artifact {
group = 'com.company.sales'
version = '0.1'
isSnapshot = true
}
tomcat {
dir = "$project.rootDir/build/tomcat"
}
ide {
copyright = '...'
classComment = '...'
vcs = 'Git'
}
}
Рассмотрим доступные параметры:
-
artifact
- задает группу и версию собираемых артефактов проекта. Имена артефактов формируются на основе имен модулей, заданных вsettings.gradle
.-
group
- группа артефактов. -
version
- версия артефактов. -
isSnapshot
- если установлено вtrue
, то в именах артефактов будет присутствовать суффиксSNAPSHOT
.
-
-
tomcat
- задает параметры сервера Tomcat, который используется для быстрого развертывания.-
dir
- расположение каталога установки Tomcat. -
port
- порт сервера; по умолчанию 8080. -
debugPort
- порт для подключения Java отладчика; по умолчанию 8787. -
shutdownPort
- порт для передачи командыSHUTDOWN
; по умолчанию 8005. -
ajpPort
- порт AJP connector; по умолчанию 8009.
-
-
ide
- задает некоторые параметры для Studio и IDE.-
vcs
- тип используемой в проекте VCS. В данный момент поддерживаются толькоGit
иsvn
. -
copyright
- текст Copyright Notice, вставляемый в начало файлов исходных текстов. -
classComment
- текст комментария, который будет расположен над объявлением класса в исходных текстах Java.
-
-
uploadRepository
- задает параметры репозитория, в который будут выгружатся собранные артефакты проекта при выполнении задачиuploadArchives
.-
url
- URL репозитория. По умолчанию используется репозиторий Haulmont. -
user
- имя пользователя репозитория. -
password
- пароль пользователя репозитория.Параметры репозитория выгрузки артефактов можно передать в командной строке с помощью следующих аргументов:
gradlew uploadArchives -PuploadUrl=http://myrepo.com/content/repositories/snapshots -PuploadUser=me -PuploadPassword=mypassword
-