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

Jua*_*ana 5 gradle kotlin gradle-kotlin-dsl

升级到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
Run Code Online (Sandbox Code Playgroud)

请注意,我正在使用buildSrcGradle编译过程.

Eri*_*lin 15

这是由于Kotlin DSL 1.0的突破性变化:

kotlin-dsl插件现在需要声明一个存储库

使用Kotlin 1.2.60,驱动kotlin编译器的Kotlin Gradle插件需要额外的依赖关系,而Gradle Kotlin DSL脚本本身并不需要这些依赖关系,并且不会嵌入到Gradle中.

这可以通过在应用kotlin-dsl插件的项目中添加包含Kotlin编译器依赖项的存储库来解决: repositories { jcenter() }


Abh*_*tap 13

build.gradle.kts 应该包含

plugins {
    `kotlin-dsl`
}
// Required since Gradle 4.10+.
repositories {
    jcenter()
}
Run Code Online (Sandbox Code Playgroud)