mirror of
https://github.com/apple/pkl.git
synced 2026-03-22 17:19:13 +01:00
Remove obsolete Alpine Linux workaround (#457)
The bug necessitating this workaround was fixed in October 2022. For details: https://github.com/oracle/graal/issues/3398
This commit is contained in:
@@ -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<String>) {
|
||||
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)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user