Skip to content

Commit ce12a65

Browse files
committed
WIP
1 parent 6438095 commit ce12a65

File tree

3 files changed

+18
-7
lines changed

3 files changed

+18
-7
lines changed

README.adoc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,5 @@ Just run:
3030

3131
1. `./gradlew clean build`
3232
2. `java -jar application/build/libs/application-0.0.1.jar`
33+
3. See the output in the console.
34+
4. Use CTRL+C to stop the application.

application/src/main/kotlin/de/micromata/kotlinscripting/DemoApplication.kt

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ package de.micromata.kotlinscripting
22

33
import org.springframework.boot.autoconfigure.SpringBootApplication
44
import org.springframework.boot.runApplication
5+
import kotlin.script.experimental.api.ResultWithDiagnostics
6+
import kotlin.script.experimental.api.valueOrNull
57

68
@SpringBootApplication
79
class DemoApplication {
@@ -13,7 +15,14 @@ class DemoApplication {
1315

1416
val scriptExecutor = ScriptExecutor()
1517
val result = scriptExecutor.executeScript()
16-
println("Script result: $result")
18+
if (result is ResultWithDiagnostics<*>) {
19+
println("Script result: ${result.valueOrNull()}")
20+
result.reports.forEach {
21+
println("Script report: ${it.message}")
22+
}
23+
} else {
24+
println("Script result: $result")
25+
}
1726
}
1827
}
1928
}

application/src/main/kotlin/de/micromata/kotlinscripting/ScriptExecutor.kt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -62,16 +62,16 @@ class ScriptExecutor {
6262

6363
companion object {
6464
val script = """
65-
val sb = StringBuilder()
66-
sb.appendln("Hello world!")
65+
// Don't use StringBuilder here, because it's might not be available in the script classpath.
66+
var result = "Hello world!\n"
6767
var loader = Thread.currentThread().contextClassLoader
6868
while (loader != null) {
69-
sb.appendln("ClassLoader: ${'$'}loader")
69+
result += "ClassLoader: ${'$'}loader\n"
7070
loader = loader.parent
7171
}
72-
sb.appendln("Classpath: ${'$'}{System.getProperty("java.class.path")}")
73-
//sb.appendln(de.micromata.springbootkotlinscripting.ScriptExecutor.script)
74-
sb.toString()
72+
result += "Classpath: ${'$'}{System.getProperty("java.class.path")}\n"
73+
//sb.appendLine(de.micromata.springbootkotlinscripting.ScriptExecutor.script)
74+
result
7575
""".trimIndent()
7676
}
7777
}

0 commit comments

Comments
 (0)