简体   繁体   中英

How to add a dependency in a multiplatform kotlin / native intellij project?

I have the following build.gradle configuration:

plugins {
    id 'org.jetbrains.kotlin.multiplatform' version '1.3.41'
}
repositories {
    mavenCentral()
}
kotlin {
    linuxX64("linux") {
        binaries {
            executable {
               entryPoint = 'sample.main'
               runTask?.args('')
            }
        }
    }
    sourceSets {
        linuxMain {
            dependencies {
                api("org.http4k:http4k-core:3.183.0")
            }
        }
        linuxTest {
        }
    }
}

And the following source file src/linuxMain/kotlin/sample/SampleLinux.kt :

package sample

fun hello(): String = "Hello, Kotlin/Native!"

fun main() {
    println(hello())
}

How to add a external library in order to be able to use autocomplete in imports for the library org.http4k:http4k-core:3.183.0 ?

As you can see, I tried to add the line api("org.http4k:http4k-core:3.183.0") in linuxMain dependencies, but although intellij show the library in External Libraries section, I cannot work with the packages neither classes of http4k in SampleLinux.kt file: any org.http4k..... import attempt is not recognized and generates compilation error.

After a quick look, I am almost sure that http4k is JVM-only library, at least for now. According to this issue , they are still waiting for Native to grow. If you are interested, it would be nice if one can ask the library maintainers again. As far as K/N has grown a lot by the last year, maybe they change their mind.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM