Basic native support in kotlin-multiplatform (#1811)

* Add dependency on KN shared in gradle-plugin

* Basic support for Kotlin/Native:
     * Target presets
     * Compilation into a klib
     * Compilation into native binraies: framework and executable
     * Basic dependencies between projects
     * No jars in native publications
     * Replace '-' with '_' in framework names
    * Escape quotes in native command lines on Windows
* Move targets from Kotlin/Native repo
* Download KN compiler using Gradle's mechanisms
* Support source set dependencies in native
This commit is contained in:
ilmat192
2018-08-19 20:45:31 +07:00
committed by GitHub
parent 8966e220f0
commit 2251440f04
23 changed files with 1315 additions and 107 deletions
@@ -15,7 +15,8 @@ pill {
dependencies {
compile project(':kotlin-stdlib')
compile project('::konan:konan-utils')
compileOnly gradleApi()
compileOnly 'com.android.tools.build:gradle:0.4.2'
}
@@ -12,8 +12,7 @@ import org.gradle.api.attributes.CompatibilityCheckDetails
import java.io.Serializable
enum class KotlinPlatformType: Named, Serializable {
common, jvm, js, androidJvm,
native; // TODO: split native into separate entries here or transform the enum to interface and implement entries in K/N
common, jvm, js, androidJvm, native;
override fun toString(): String = name
override fun getName(): String = name