Tried to modify a project definition to use a jar instead of classes for staging, found this. Reproducible with versions between 0.6.0 and 0.9.0 using sbt 0.12.4.
project/Project.scala
import sbt._
import Keys._
import com.typesafe.sbt.SbtStartScript.startScriptForJarSettings
object JarStartScriptBuild extends Build {
val defaultSettings = Defaults.defaultSettings ++ startScriptForJarSettings ++ Seq(
organization := "fake.org",
version := "0.1-SNAPSHOT",
scalaVersion := "2.10.2"
)
lazy val root = Project("jar-start-script", file(".")).settings(defaultSettings: _*)
}
For testing purposes, I've only written a single Hello World. This is the start script generated after running sbt stage (target/start, using version 0.9.0)
#!/bin/bash
PROJECT_DIR=$(cd "${BASH_SOURCE[0]%/*}" && pwd -P)/..
MAINCLASS=Test
exec java $JAVA_OPTS -cp "$PROJECT_DIR/target/scala-2.10/classes:/home/alex/.sbt/boot/scala-2.10.2/lib/scala-library.jar" "$MAINCLASS" "$@"
Tried to modify a project definition to use a jar instead of classes for staging, found this. Reproducible with versions between 0.6.0 and 0.9.0 using sbt 0.12.4.
project/Project.scala
For testing purposes, I've only written a single Hello World. This is the start script generated after running sbt stage (target/start, using version 0.9.0)