Kotlin: Kotlin-script (.kts) cannot use regular code?

Viewed 4021

In my library's codebase, I have this package function: fun sayHello() = println("Hello there!")
The function is defined in the package org.jire.pomade

I would like to use this function in a .kts file like so: sayHello()

Unfortunately I can't seem to get code apart from Kotlin's own stdlib to work in Kotlin-script files.

The entirety of my script:

import org.jire.pomade.sayHello

sayHello()

The result of running the script:

pomade.kts:1:12: error: unresolved reference: jire
import org.jire.pomade.sayHello
           ^
pomade.kts:3:1: error: unresolved reference: sayHello
sayHello()
^

Anybody know why this is happening? Thanks.

4 Answers

There is experimental support for maven imports in Kotlin scripts since 1.3.

Take a look at https://blog.jetbrains.com/kotlin/2018/09/kotlin-1-3-rc-is-here-migrate-your-coroutines/#scripting:

@file:Repository("https://jcenter.bintray.com")
@file:DependsOn("org.jetbrains.kotlinx:kotlinx-html-jvm:0.6.11")

import kotlinx.html.*
import kotlinx.html.stream.*

print(createHTML().html {
    body {
        h1 { +"Hello, World!" }
    }
})

And here is the KEEP: https://github.com/Kotlin/KEEP/blob/master/proposals/scripting-support.md.

Related