File tree Expand file tree Collapse file tree
src/main/kotlin/io/github/kscripting/kscript Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -48,7 +48,7 @@ object Templates {
4848 fun createWrapperForScript (packageName : PackageName , className : String ): String {
4949 val classReference = packageName.value + " ." + className
5050
51- return """
51+ var wrapperTemplate = """
5252 |class Main_${className} {
5353 | companion object {
5454 | @JvmStatic
@@ -58,6 +58,12 @@ object Templates {
5858 | }
5959 | }
6060 |}""" .trimStart().trimMargin()
61+
62+ if (packageName.value.isNotBlank()) {
63+ wrapperTemplate = " package ${packageName.value} ;\n\n $wrapperTemplate "
64+ }
65+
66+ return wrapperTemplate
6167 }
6268
6369 fun createRunConfig (rootScriptName : String , rootScriptType : ScriptType , userArgs : List <String >): String {
Original file line number Diff line number Diff line change @@ -43,17 +43,20 @@ class JarArtifactCreator(private val executor: Executor) {
4343 scriptContent = " package ${script.packageName.value} \n\n $scriptContent "
4444 }
4545
46- FileUtils .createFile(scriptFile, scriptContent)
47-
4846 val filesToCompile = mutableSetOf<OsPath >()
49- filesToCompile.add(scriptFile)
5047
51- // create main-wrapper for kts scripts
5248 if (script.scriptLocation.scriptType == ScriptType .KTS ) {
53- val wrapper = FileUtils .createFile(
54- basePath.resolve(" $execClassName .kt" ), Templates .createWrapperForScript(script.packageName, className)
55- )
56- filesToCompile.add(wrapper)
49+ // For KTS scripts, combine script content and wrapper code into a single file.
50+ // The package declaration is handled by Templates.createWrapperForScript.
51+ val wrapperContent = Templates .createWrapperForScript(script.packageName, className)
52+ scriptContent = " $scriptContent \n\n $wrapperContent "
53+
54+ FileUtils .createFile(scriptFile, scriptContent)
55+ filesToCompile.add(scriptFile)
56+ } else {
57+ // For KT files, keep the existing logic.
58+ FileUtils .createFile(scriptFile, scriptContent)
59+ filesToCompile.add(scriptFile)
5760 }
5861
5962 executor.compileKotlin(
You can’t perform that action at this time.
0 commit comments