Improve support for olive programs inside packages

This commit is contained in:
Edwin Jakobs
2020-05-03 12:54:32 +02:00
parent de6095224a
commit f5aba87f50
3 changed files with 17 additions and 3 deletions

View File

@@ -20,7 +20,7 @@ fun stackRootClassName(thread: Thread = Thread.currentThread(), sanitize: Boolea
}
fun ApplicationBuilder.oliveProgram(init: OliveProgram.() -> Unit): OliveProgram {
val rootClassName = stackRootClassName(sanitize = true)
val rootClassName = stackRootClassName(sanitize = true).split(".").last()
var sourceLocation = "src/main/kotlin/$rootClassName.kt"
val candidateFile = File(sourceLocation)

View File

@@ -4,7 +4,9 @@ import org.openrndr.extra.kotlinparser.ProgramSource
inline fun <reified T> generateScript(programSource: ProgramSource): String {
val script = """
@file:Suppress("UNUSED_LAMBDA_EXPRESSION")
${programSource.packageName?:""}
import org.openrndr.extra.olive.OliveProgram
${programSource.imports}