Docs menu
Scala
Deploy Scala apps built with sbt on Primcloud: Play, Akka HTTP, http4s, or a plain sbt project.
On this page
Primcloud deploys Scala apps built with sbt. Push a repo with an sbt build at its root, and Primcloud picks up the toolchain, builds your app on the JVM, and runs whatever your Procfile starts. Play, Akka HTTP, http4s, and a bare sbt project all deploy the same way. There's no Primcloud-specific adapter to add, because to Primcloud they're all just sbt projects.
Detection triggers when the root of your repo carries any of *.sbt, project/build.properties, a .scala file under project/, or a .scala file under .sbt/. Since sbt runs on the JVM, a build resolves two things: the sbt release pinned in project/build.properties, and an OpenJDK version from system.properties. Scala itself isn't installed by the platform. sbt pulls the compiler and standard library from Maven Central based on the scalaVersion in your build.sbt, so any Scala version sbt can resolve will build.
The default build is sbt compile stage. compile builds your sources; stage assembles a runnable output (usually through sbt-native-packager, which Play wires up for you) that a Procfile process line launches at runtime.
What's in this section#
- Getting started with Scala: deploy a minimal Play app end-to-end.
- Scala on Primcloud: detection, sbt and JDK resolution,
sbt compile stage, caching, and how the app launches. - Runtime versions: supported sbt versions, OpenJDK pinning, and the upgrade path.
- Package managers: sbt, the Ivy and Coursier caches, private resolvers, and lockfiles.
- Customizing the build: task overrides, subproject builds, sbt options, native dependencies, and Debian packages.
- Troubleshooting Scala: the build and runtime errors that come up most, with the fix for each.