Skip to content
/ Knee Public

Seamless two-way communication between Kotlin/Native and Kotlin/JVM. Supports suspend functions, classes, interfaces, no-copy buffers and much more.

License

Notifications You must be signed in to change notification settings

deepmedia/Knee

Repository files navigation

Build Status Release Issues

Project logo

🦵 Knee 🦵

A Kotlin compiler plugin and companion runtime tools that provides seamless communication between Kotlin/Native binaries and Kotlin/JVM, using a thin and efficient layer around the JNI interface.

With Knee, you can write idiomatic Kotlin/Native code, annotate it and then invoke it transparently from JVM as if they were running on the same environment.

// settings.gradle.kts
pluginManagement {
    repositories {
        gradlePluginPortal()
        mavenCentral()
    }
}

// build.gradle.kts
plugins {
    id("io.deepmedia.tools.knee") version "1.1.1"
}

Please check out the documentation.