Вы можете создать переменную для хранения зависимостей, затем в блоке allprojects
или subprojects
вы можете обратиться к этому массиву. Например, вы можете определить класс, в котором хранятся ваши различные типы зависимостей (например, каждая в виде массива строк), создать экземпляр этого класса и заполнить его, сохранить ссылку на него в переменной, а затем использовать значение этой переменной для назначьте зависимости, как показано ниже:
class Libraries(val frameworkLibs: Array<String>, val testLibs: Array<String>, val sqlLibs: Array<String>)
val libraries = Libraries(
arrayOf(
"org.springframework.boot:spring-boot-starter-data-redis",
"org.springframework.boot:spring-boot-starter-web",
"org.mybatis.spring.boot:mybatis-spring-boot-starter:2.0.1",
"org.springframework.kafka:spring-kafka"
),
arrayOf(
"org.springframework.boot:spring-boot-starter-test",
"org.springframework.kafka:spring-kafka-test"
),
arrayOf("org.postgresql:postgresql")
)
allprojects {
dependencies {
libraries.frameworkLibs.forEach { implementation(it) }
libraries.sqlLibs.forEach { runtimeOnly(it) }
libraries.testLibs.forEach { testImplementation(it) }
Я не могу найти способ передать массив зависимостей в такие методы, как implementation
или runtimeOnly
, поэтому вместо этого я зацикливаю их и добавляю каждую зависимость по отдельности. Если есть способ передать массив в одну строку, надеюсь, кто-то другой скажет нам, как это сделать.