Exi*_*are 17 groovy kotlin gradle-kotlin-dsl
我的项目有两个不同的build.gradle文件,用groovy语法编写.我想将这个groovy写入的gradle文件更改为用Kotlin语法(build.gradle.kts)编写的gradle文件.
我将向您展示根项目build.gradle文件.
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
//ext.kotlin_version = '1.2-M2'
ext.kotlin_version = '1.1.51'
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.0-alpha01'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
allprojects {
repositories {
google()
jcenter()
mavenCentral()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
Run Code Online (Sandbox Code Playgroud)
我尝试了几种在互联网上找到的"方式",但没有任何效果.重命名文件,显然不是解决方案,没有帮助.我在我的根项目中创建了一个新的build.gradle.kts文件,但该文件没有显示在我的项目中.gradle也没有识别出新文件.
所以我的问题是:如何将我的groovy build.gradle文件转换为kotlin build.gradle.kts并将此新文件添加到我现有的项目中?
谢谢你的帮助.
mad*_*ead 19
当然重命名也无济于事.您需要使用Kotlin DSL重新编写它.它与Groovy类似,但有一些差异.阅读他们的文档,看看这些例子.
在您的情况下,问题是:
ext.kotlin_version是无效的Kotlin语法,使用方括号tasks块中的所有任务声明为字符串,或使用单个类型的函数,如下例所示.看看转换后的顶级build.gradle.kts:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext["kotlin_version"] = "1.1.51"
repositories {
google()
jcenter()
}
dependencies {
classpath ("com.android.tools.build:gradle:3.1.0-alpha01")
classpath ("org.jetbrains.kotlin:kotlin-gradle-plugin:${ext["kotlin_version"]}")
}
}
allprojects {
repositories {
google()
jcenter()
mavenCentral()
}
}
task<Delete>("clean") {
delete(rootProject.buildDir)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4272 次 |
| 最近记录: |