**Problem**
Scala 3.8 REPL won't work since they've split the repl artifact into another JAR.
**Solution**
This works around it by creating a yet-another sandbox configuration ScalaReplTool
(similar to ScalaTool and ScalaDocTool) and a separate scalaInstance for
console task, so when Zinc is invoked we'll be able to conjure the right array of JARs.
**Problem**
Central Portal no longer supports the legacy sbt plugin layout.
**Solution**
Make the default more friendly by setting sbtPluginPublishLegacyMavenStyle to false.
**Problem**
Sonatype is sunsetting HTTP Rest endpoint OSSRH in June 2025.
**Solution**
This implements a built-in publishing mechanism.
Kudos to David Doyle who has spearheaded Sonatype Central support via sonatype-central-client etc.
**Problem**
WHen portfile is not found, sbtn will try to start the server
even when the desired command is shutdown.
**Solution**
When the command is just shutdown, don't start the server.
**Problem**
When compilation fails, it's retrying 10 times
since Retry now retries on non-IOExceptions.
**Solution**
This adds CompileFailed to excluded exception list.
**Problem**
`run` task blocks the server, but during the run the server is just
waiting for the built program to finish.
**Solution**
This implements client-side run where the server creates a sandbox
environment, and sends the information to the client,
and the client forks a new JVM to perform the run.
Bump native image options
Try use Github Action to setup GraalVM
Update native image version
Update java version to be in sync with Native Image Plugin
Try anything
Create the dir to place native image
Try again
Remove Graal setup
Believe in couriser?
The old, hardcoded Scala 2.12 version previously used for the sbtn
project (as a kind of workaround?) was no longer supported by Scala IDE tooling.
But sbtn builds just fine when using the current global setting for the Scala 2.12
version, so this commit removes the hardcoded version.