由于缺少依赖项,Kotlin buildSrc 在 Gradle 4.10 上失败

Kotlin buildSrc failing on Gradle 4.10 due to missing dependency

升级到 Gradle 4.10 时,我在尝试编译时遇到以下错误:

Execution failed for task ':buildSrc:compileKotlin'.
> Could not resolve all files for configuration ':buildSrc:kotlinCompilerPluginClasspath'.
   > Could not find org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.2.60.
     Searched in the following locations: file:/Users/<user-name>/.gradle/caches/4.10/embedded-kotlin-repo-1.2.60-2/repo/org/jetbrains/kotlin/kotlin-scripting-compiler-embeddable/1.2.60/kotlin-scripting-compiler-embeddable-1.2.60.jar
     Required by:
         project :buildSrc
   > Could not find org.jetbrains.kotlin:kotlin-sam-with-receiver:1.2.60.
     Required by:
         project :buildSrc

请注意,我在 Gradle 编译过程中使用了 buildSrc

这是由于 Kotlin DSL 1.0 中的重大更改:

The kotlin-dsl plugin now requires a repository to be declared

With Kotlin 1.2.60, the Kotlin Gradle Plugin driving the kotlin compiler requires extra dependencies that aren't required by Gradle Kotlin DSL scripts alone and aren't embedded into Gradle.

This can be fixed by adding a repository that contains Kotlin compiler dependencies on the project where the kotlin-dsl plugin is applied: repositories { jcenter() }

build.gradle.kts 应包含

plugins {
    `kotlin-dsl`
}
// Required since Gradle 4.10+.
repositories {
    jcenter()
}