gpt4 book ai didi

jenkins - 如何将Groovy中的集中化依赖项数组转换为Kotlin?

转载 作者:行者123 更新时间:2023-12-03 04:50:16 25 4
gpt4 key购买 nike

在Groovy脚本中,我可以将数组中的依赖项列表分配为“implementation library.frameworkLibs”,kotlin中是否存在类似的方法?

目标是在数组中具有依赖项列表,以便可以在子项目中单独分配每个列表。

plugins {
id 'org.springframework.boot' version '2.1.4.RELEASE'
id 'java'
}

apply plugin: 'io.spring.dependency-management'

sourceCompatibility = '1.8'

/* 1. centerilize dependencies for all projects */
ext.libraries = [
frameworkLibs: [
'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'
],
testLibs: [
'org.springframework.boot:spring-boot-starter-test',
'org.springframework.kafka:spring-kafka-test'
],
sqlLibs: [
'org.postgresql:postgresql'
]
]

allprojects {
group = 'com.example'
version = '0.0.1-SNAPSHOT'

repositories {
mavenCentral()
}

dependencies {
/* 2. establish dependencies */
implementation libraries.frameworkLibs
runtimeOnly libraries.sqlLibs
testImplementation libraries.testLibs
}
}

最佳答案

您可以将依赖关系图更改为:

val libraries by extra {
mapOf(
"frameworkLibs" to listOf(
"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"
)
)
}

然后在您的依赖项块中,它必须是:
    libraries["frameworkLibs"]?.forEach { s -> implementation(s) }

您可以将扩展方法作为buildSrc脚本的一部分添加到Project中,以隐藏此 forEach以使依赖项正常工作...

关于jenkins - 如何将Groovy中的集中化依赖项数组转换为Kotlin?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56034519/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com