diff --git a/pkl-cli/src/main/kotlin/org/pkl/cli/Main.kt b/pkl-cli/src/main/kotlin/org/pkl/cli/Main.kt index f75ee9e0..caf2053e 100644 --- a/pkl-cli/src/main/kotlin/org/pkl/cli/Main.kt +++ b/pkl-cli/src/main/kotlin/org/pkl/cli/Main.kt @@ -19,37 +19,23 @@ package org.pkl.cli import com.github.ajalt.clikt.core.subcommands import org.pkl.cli.commands.* -import org.pkl.commons.cli.CliMain import org.pkl.commons.cli.cliMain import org.pkl.core.Release /** Main method of the Pkl CLI (command-line evaluator and REPL). */ internal fun main(args: Array) { - val version = Release.current().versionInfo() - val helpLink = "${Release.current().documentation().homepage()}pkl-cli/index.html#usage" - val commands = - arrayOf( - EvalCommand(helpLink), - ReplCommand(helpLink), - ServerCommand(helpLink), - TestCommand(helpLink), - ProjectCommand(helpLink), - DownloadPackageCommand(helpLink) - ) - val cmd = RootCommand("pkl", version, helpLink).subcommands(*commands) cliMain { - if (CliMain.compat == "alpine") { - // Alpine's main thread has a prohibitively small stack size by default; - // https://github.com/oracle/graal/issues/3398 - var throwable: Throwable? = null - Thread(null, { cmd.main(args) }, "alpineMain", 10000000).apply { - setUncaughtExceptionHandler { _, t -> throwable = t } - start() - join() - } - throwable?.let { throw it } - } else { - cmd.main(args) - } + val version = Release.current().versionInfo() + val helpLink = "${Release.current().documentation().homepage()}pkl-cli/index.html#usage" + RootCommand("pkl", version, helpLink) + .subcommands( + EvalCommand(helpLink), + ReplCommand(helpLink), + ServerCommand(helpLink), + TestCommand(helpLink), + ProjectCommand(helpLink), + DownloadPackageCommand(helpLink) + ) + .main(args) } }