Reproducible environments for Scala using coursier
summary
cs is a native GraalVM-built CLI that installs JVMs and Scala apps (x86_64 and arm64, Raspberry Pi supported) and can cs launch applications without installing them. Reproducibility requires locking not just library coordinates but channel and JVM index versions; the demo records explicit Scala/Ammonite versions, swaps Maven Central-only repos, and pins the coursier channel and jvm index so repeated runs fetch identical artifacts. Two new controls surface and block mutable inputs: --log-changing to list non‑immutable artifacts and -m pure to forbid them; OS and local cache still remain loose ends.
AI-written summary · about
chapters (18)
- 0:00Introduction
- 0:50Slides
- 1:14About me
- 2:54CRS
- 4:39What is CRS
- 12:59Setup
- 14:24Launch
- 16:18Videos
- 17:19SetLaunch
- 21:25Cache
- 25:39Artifacts
- 27:39Chaining files
- 28:16Log changing
- 29:29Repository
- 32:19Explicit coloration
- 34:23Fully representable
- 34:57Nonreproducible
- 36:22Limitations








