¿Cómo se configura una construcción multiplataforma de Kotlin?

Me gustaría build el mismo código fuente de kotlin en javascript y java (android). ¿Hay una forma estándar de lograr esto?

  1. Crea un proyecto en IntelliJ. Seleccione un proyecto de Gradle y luego Java (y cualquier otra cosa que desee)

Nuevo menú del proyecto IntelliJ

  1. Cree 3 nuevos modules de Gradle: common , android-specific js-specific . Asegúrese de que se agreguen como module a su module principal

Agregar un nuevo módulo

Agregar una nueva parte del módulo 2

  1. Presiona siguiente, luego termina (y repite para android-specific y js-specific )
  2. Elimine settings.gradle de common , y los otros 2 modules ya que no los va a necesitar
  3. Asegúrese de que estos 3 nuevos modules se agreguen a la settings.gradle principal del module "principal". Debería verse más y less así:

     rootProject.name = 'parent' include ':common' include ':android-specific' include ':js-specific' 
  4. Edite la dependencia del module common (file build.gradle , línea 24 para ) de org.jetbrains.kotlin:kotlin-stdlib-jre8 a org.jetbrains.kotlin:kotlin-stdlib por lo que no es específico de la plataforma.
  5. Si realmente quiere asegurarse de haber hecho todo correctamente, vaya a Ver -> Herramientas de Windows -> Gradle

Ver -> Herramientas de Windows -> Gradle

  1. Debería ver el menu de Gradle y debería verse así

Cómo debería verse

La configuration de Gradle también debería funcionar sin IntelliJ (o Android Studio) pero no lo probé

El soporte oficial multiplataforma para Kotlin aún no se ha lanzado. Si desea mantenerse al día sobre él, recomiendo seguir el canal #multiplatform en Kotlin Slack .

  • ¿Por qué Kotlin no implementa Int.plus (value: String)?
  • ¿Cómo puedo crear un "forEach" que devuelva un object que sea un receptor a la function de consumo?
  • Forma rápida de get el número de mes de java.util.Date
  • Usar el object compañero para devolver una instancia de la class en Kotlin
  • Actualice el contenido de un fragment en SectionsPagerAdapter
  • Android: raspando artículos con jsoup
  • ¿Usando rasgos con classs de datos en Kotlin?
  • Configurar la reflexión de kotlin, class.java no funciona
  • conectar entre Grid View y List Veiw en kotlin
  • Android: la barra de herramientas no se muestra
  • Cómo dibujar líneas usando drawLine ()