import Ġkotlinx . coroutines . experimental .* Ċ import Ġorg . jetbrains . kotlin . script . util .* Ċ import Ġjava . io .* Ċ import Ġkotlin . script . experimental . annotations .* Ċ import Ġkotlin . script . experimental . api .* Ċ import Ġkotlin . script . experimental . host .* Ċ import Ġkotlin . script . experimental . jvm .* Ċ import Ġkotlin . script . experimental . jvm host .* Ċ Ċ fun Ġmain ( args : ĠArray < String >) Ġ{ ĊĠĠĠ Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmy Script Ġ= Ġinstantiate Script < My Script >(" src / main / kotlin / hello . k ts ") ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġmy Script . run This (" testing 1 ") ĊĠĠĠĠĠĠĠ Ġprintln (" got Ġsomething , Ġhere Ġit Ġis : Ġ$ result ") ĊĠĠĠ Ġ} Ċ } Ċ Ċ object ĠTest Script Configuration Ġ: ĠScript Compilation Configuration ( ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġj vm Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies From Current Context ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" kotlin script - sandbox " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ċ ) Ċ Ċ @ Kotlin Script ( ĊĠĠĠĠĠĠĠ Ġcompilation Configuration Ġ= ĠTest Script Configuration :: class Ċ ) Ċ abstract Ġclass ĠMy Script Ġ{ ĊĠĠĠ Ġabstract Ġfun Ġrun This ( param 1 : ĠString ): ĠString Ċ } Ċ Ċ suspend Ġinline Ġfun Ġ< re ified ĠT : ĠAny > Ġinstantiate Script ( script Path : ĠString ): ĠT Ġ{ ĊĠĠĠ Ġval Ġscript Compiler Ġ= ĠJ vm Script Compiler () ĊĠĠĠ Ġval Ġcompiled Script Result Ġ= Ġscript Compiler ( File ( script Path ). to Script Source (), Ġcreate Jvm Compilation Configuration From Template < T >()) ĊĠĠĠ Ġval Ġcompiled Script Ġ= Ġwhen Ġ( compiled Script Result ) Ġ{ ĊĠĠĠĠĠĠĠ Ġis ĠResult With Diagnostics . Success Ġ-> Ġcompiled Script Result . value ĊĠĠĠĠĠĠĠ Ġis ĠResult With Diagnostics . Failure Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ( compiled Script Result . reports ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcompiled Script Result . reports [ 0 ]. exception ?. printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġval Ġcompiled Script Class Result Ġ= Ġcompiled Script !!. getClass ( null ) ĊĠĠĠ Ġval Ġcompiled Script Class Ġ= Ġwhen Ġ( compiled Script Class Result ) Ġ{ ĊĠĠĠĠĠĠĠ Ġis ĠResult With Diagnostics . Success Ġ-> Ġcompiled Script Class Result . value ĊĠĠĠĠĠĠĠ Ġis ĠResult With Diagnostics . Failure Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ( compiled Script Class Result . reports ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcompiled Script Class Result . reports [ 0 ]. exception ?. printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġcompiled Script Class !!. java . construct ors . single (). newInstance () Ġas ĠT Ċ }