es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

gradle: kotlin(“jvm”) vs id(“org.jetbrains.kotlin.jvm”) gradle: kotlin(“jvm”) vs id(“org.jetbrains.kotlin.jvm”) Ambas son formas de establecer una dependencia en un proyecto Gradle para el lenguaje de programación Kotlin en la plataforma jvm. La sintaxis “kotlin(“jvm”)” es una forma abreviada y más concisa de especificar la dependencia. Esta forma utiliza un bloque llamado “kotlin” y pasa como argumento la plataforma “jvm”. Es comúnmente usada para proyectos Kotlin en la plataforma jvm. La sintaxis “id(“org.jetbrains.kotlin.jvm”)” es una forma más explícita de especificar la dependencia. Esta forma utiliza un bloque llamado “id” y pasa como argumento la ruta completa de la dependencia “org.jetbrains.kotlin.jvm”. Es comúnmente usada cuando se desea especificar de manera más precisa la dependencia requerida. En resumen, ambas formas son válidas y logran el mismo resultado, establecer una dependencia para Kotlin en la plataforma jvm. La elección entre una u otra depende de las preferencias y necesidades del proyecto.

En el archivo gradle.build.kts, ¿hay alguna diferencia entre los siguientes dos?

plugins {
    id("org.jetbrains.kotlin.jvm") version "1.5.31" // forma simple
}

plugins {
    kotlin("jvm") version "1.5.31" // forma indirecta
}

¿Hay alguna razón para no usar id("org.jetbrains.kotlin.jvm")?

Contexto:

  • Estoy bastante seguro de que funcionalmente estos dos son idénticos. (a partir del código decompilado)
  • Prefiero usar id("org.jetbrains.kotlin.jvm"). (por ejemplo, los errores de Gradle contienen org.jetbrains.kotlin.jvm, no kotlin("jvm"))
  • Algunos (¿la mayoría?) de los documentos utilizan kotlin("jvm") kotlinlang.org/..,
    pero también se utiliza id("org.jetbrains.kotlin.jvm") plugins.gradle.org/plugin/org.jetbrains.kotlin.jvm docs.gradle.org/current/samples/sample_building_kotlin_libraries.html,
    por lo que la “forma no documentada” no debería aplicarse.
  • Supongo que me estoy perdiendo algo, porque no logro entender la razón de la existencia de kotlin("jvm"). (en realidad, tengo dos teorías, ambas parecen insuficientes: 17 caracteres parecen ser muy importantes para alguien, factor de “coolness”)
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Basándose en el contexto proporcionado, no parece haber ninguna razón en particular para no usar id("org.jetbrains.kotlin.jvm"). Funcionalmente, ambos bloques plugins son idénticos, y hay ejemplos de ambos en la documentación oficial y en plugins. Puede haber razones personales o estéticas para elegir uno sobre el otro, pero en última instancia parece ser una cuestión de preferencia. Es posible que exista alguna razón histórica o técnica para la existencia de kotlin("jvm"), pero basándose en la información disponible, no está claro.

Comments are closed.