Convierta un file groovy build.gradle existente en un build basado en kotlin build.gradle.kts

mi proyecto tiene dos files build.gradle diferentes escritos con syntax maravillosa. Me gustaría cambiar este groovy file gradle escrito en un file gradle escrito con Kotlin Syntax (build.gradle.kts).

Te mostraré el file raíz del proyecto 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 } 

Intenté varias "forms" que encontré en Internet, pero nada funcionó. Renombrar el file, que obviamente no es la Solución, no ayudó. He creado un nuevo file build.gradle.kts en mi proyecto raíz pero el file no se muestra en mi proyecto. También gradle no reconoció el nuevo file.

Entonces mi pregunta es: ¿cómo puedo transformar mi file groovy build.gradle en kotlin build.gradle.kts y agregar este nuevo file a mi proyecto existente?

Gracias por tu ayuda.

Por supuesto, renombrar no ayudará. Tendrá que volver a escribir usando Kotlin DSL. Es similar a Groovy, pero con algunas diferencias. Lee sus documentos , mira los ejemplos .

En tu caso, los problemas son:

  1. ext.kotlin_version no es una syntax de Kotlin válida, use corchetes
  2. Todas las cadenas de Kotlin usan comillas dobles
  3. Se requieren llaves alnetworkingedor de los parameters para la mayoría de las llamadas de function (hay excepciones, como funciones de infijo )
  4. Slighlty API de administración de tareas diferentes. Hay diferentes styles disponibles. Puede declarar todas las tareas en tasks bloqueadas como cadenas , o usar una sola function escrita a máquina, como en el ejemplo a continuación.

Eche un vistazo al build.gradle.kts nivel superior convertido:

 // 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) } 
  • ¿Cómo se organizan múltiples corrutines y bloques de expectativas en una testing de Kotlin Spek?
  • ¿Cómo puedo configurar el layoutmanager en RecycleView usando kotlin?
  • Cómo convertir el valor de char a ascii en el lenguaje kotlin
  • Revertir el código fuente a Java después de la conversión Kotlin> Java de IntelliJ
  • ¿Es posible comstackr el código de kotlin para ejecutar sin la lib de time de ejecución? ¿Cómo?
  • ¿Los methods de extensión y las properties de extensión son malas prácticas?
  • Android Studio 2.2 no puede encontrar references para todos los files de kotlin
  • Kotlin arrayList: no se puede reescribir la list
  • Recurso esperado de tipo ID
  • Kotlin: Interfaz ... no tiene constructores
  • ¿Por qué Bundle in Intent se pierde?