Преобразование существующей сборки groovy.файл gradle в сборку на основе kotlin.градля.КБС
мой проект имеет две различные сборки.gradle файлы, написанные с groovy синтаксиса. Id хотел бы изменить этот groovy написанный файл gradle в файл gradle, написанный с синтаксисом Kotlin (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
}
я попробовал несколько "способов", которые я нашел в интернете, но ничего не получилось. Переименование файла, которое, очевидно, не является решением, не помогло. Ive создал новую сборку.градля.файл kts в моем корневом проекте но файл не отображается в моем проекте. Также Gradle в не распознает новый файл.
Итак, мой вопрос: Как я могу преобразовать мой заводной строить.файл gradle в сборку kotlin.градля.kts и добавить этот новый файл в мой существующий проект?
Спасибо за помощь.
1 ответов
конечно, переименование не поможет. Вам нужно будет переписать его с помощью Kotlin DSL. Он похож на Groovy, но с некоторыми отличиями. читать их документы посмотри примеры.
в вашем случае, вопросы:
-
ext.kotlin_version
недопустимый синтаксис Котлина, используйте квадратные скобки - все Котлин строки использовать двойные кавычки
- скобки требуются вокруг параметров большинство вызовов функции (есть исключения, например функции infix)
- Slighlty различные API управления задачами. Доступны различные стили. Вы можете объявить все задачи
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)
}