Объявление зависимостей из внешнего файла в Gradle - PullRequest
0 голосов
/ 07 марта 2019

Я ищу способ применения всех зависимых версий подпроектов во внешнем файле в Gradle 5.2 или в основном файле сборки.Это было бы похоже на новую функциональность ограничения в плагине Java-Platform, но, насколько я могу судить, это требует объявления не только в отдельном файле, но и в отдельном проекте (который затем будет содержать только файл сборки для этого проекта).).

Есть ли способ сделать это?До сих пор я успешно создавал PoC с помощью плагина java-platform следующим образом:

Структура файла:

  1. 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'
        }
    }
}

Прошу прощения за синтаксис.

1 Ответ

0 голосов
/ 19 марта 2019

Я не нашел способа убрать требование отдельного проекта Platform, но он был достаточно прост для чтения в ограничениях через файл свойств.

...