Я ищу способ применения всех зависимых версий подпроектов во внешнем файле в Gradle 5.2 или в основном файле сборки.Это было бы похоже на новую функциональность ограничения в плагине Java-Platform, но, насколько я могу судить, это требует объявления не только в отдельном файле, но и в отдельном проекте (который затем будет содержать только файл сборки для этого проекта).).
Есть ли способ сделать это?До сих пор я успешно создавал PoC с помощью плагина java-platform следующим образом:
Структура файла:
- Root a.Платформа б.Подпроект 1 c.Подпроект 2
Root Build File:
project.ext {
javaProjectList = subprojects.findAll{
it.name != 'platform'
}
}
configure(project.javaProjectList) {
apply plugin: 'java'
}
subprojects{
repositories {
jcenter()
}
}
Файл сборки платформы:
plugins {
id 'java-platform'
}
dependencies {
constraints {
api 'commons-httpclient:commons-httpclient:3.1'
runtime 'org.postgresql:postgresql:42.2.5'
}
}
Подпроект 1 (и 2):
dependencies {
compile platform(project(':platform'))
compile 'commons-httpclient:commons-httpclient'
}
То, что я хотел бы, это что-то вроде ...
root / dependencies.versions:
dependency1.version1
dependency2.version3
{etc.}
root / build.gradle:
dependencies {
constraints {
for { line in dependencies.versions ->
api 'line'
}
}
}
Прошу прощения за синтаксис.