【问题标题】:How to migrate from Kotlin 1.2 to 1.3 with the kotlin-dsl Gradle plugin?如何使用 kotlin-dsl Gradle 插件从 Kotlin 1.2 迁移到 1.3?
【发布时间】:2019-01-12 19:56:52
【问题描述】:

我目前在我的Android project 中使用kotlin-dsl Gradle plugin 0.18.2Kotlin 1.2.51Gradle 4.10.2(看看临时的project-setup分支)。
我喜欢迁移到 Kotlin 1.3。但是,我很难找出哪种版本组合有效。我将依赖项提升到最新版本:

// in build.gradle.kts:
id("org.gradle.kotlin.kotlin-dsl") version "1.0.4"  

...

// in build.gradle:
org.jetbrains.kotlin:kotlin-stdlib:1.3.10 

一旦我运行 Gradle 任务,它就会失败并出现以下错误:

警告:不支持的 Kotlin 插件版本。 embedded-kotlinkotlin-dsl 插件依赖于 Kotlin 1.2.61 的功能,这些功能可能与请求的版本 1.3.10 不同。

除了release notes of the kotlin-dsl Gradle plugin中写的内容外,还有迁移指南吗?

相关

【问题讨论】:

  • 我认为你需要升级到 Gradle 5.0 和 kotlin-dsl 1.0。

标签: android gradle kotlin gradle-kotlin-dsl kotlin-dsl


【解决方案1】:

迁移问题的根源在于 buildSrc 文件夹的错误配置。我将它视为 settings.gradle 文件中的 module

包括':app'、':buildSrc'、':database'、':network'

相反,它应该被视为包含的构建,如Gradle documentation 中所述。
Paul Merlin, @eskatos 给出的解决方案是简单地删除那里的 buildSrc 文件夹:

包括':app'、':database'、':network'

【讨论】:

    最近更新 更多