yup*_*flu 6 gradle gradle-kotlin-dsl
有一个使用 Kotlin DSL 的 Gradle 6.X 多模块项目。
buildSrc功能用于在中心位置管理依赖版本。类似于此处描述的方法。
该项目使用内部服务器下载依赖项。它会导致两个地方的存储库设置配置重复:
buildSrc/build.gradle.kts:
plugins {
`kotlin-dsl`
}
repositories {
// The org.jetbrains.kotlin.jvm plugin requires a repository
// where to download the Kotlin compiler dependencies from.
maven {
url = uri("${extra.properties["custom.url"] as? String}")
credentials() {
username = extra.properties["custom.username"] as? String
password = extra.properties["custom.password"] as? String
}
}
}
Run Code Online (Sandbox Code Playgroud)
和根settings.gradle.kts:
...
gradle.projectsLoaded {
allprojects {
repositories {
maven {
url = uri("${extra.properties["custom.url"] as? String}")
credentials() {
username = extra.properties["custom.username"] as? String
password = extra.properties["custom.password"] as? String
}
}
}
}
}
...
Run Code Online (Sandbox Code Playgroud)
是否有可能以某种方式maven在这两个地方之间共享重复的块?
您可以尝试将kts文件重构为类似的内容。这对你有帮助吗?
repositories.gradle.kts:
repositories {
maven {
url = uri("${extra.properties["custom.url"] as? String}")
credentials() {
username = extra.properties["custom.username"] as? String
password = extra.properties["custom.password"] as? String
}
}
}
Run Code Online (Sandbox Code Playgroud)
buildSrc/build.gradle.kts
plugins {
`kotlin-dsl`
}
apply(from="../repositories.gradle.kts")
Run Code Online (Sandbox Code Playgroud)
settings.gradle.kts
gradle.projectsLoaded {
allprojects {
apply(from = "repositories.gradle.kts")
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
786 次 |
| 最近记录: |