Equivalencia desde Kotlin
Herramientas
CercanaEn Scala 3, sbt (build.sbt y las tareas compile, test, run) expresa la responsabilidad del fixture: Instala las dependencias declaradas, construye todos los módulos, ejecuta las pruebas y corre la aplicación de línea de comandos.
Referencia Kotlin: Gradle, mediante el wrapper ./gradlew, resuelve las dependencias declaradas, construye los subproyectos registrados en settings.gradle.kts y ejecuta tareas como build, test y :app:run.
- Mecanismo
- sbt (
build.sbty las tareascompile,test,run) - Riesgo de diseño
- Copiar la sintaxis de Kotlin en vez de usar sbt (
build.sbty las tareascompile,test,run).
- Recomendación
- Expón el contrato del fixture y usa sbt (
build.sbty las tareascompile,test,run) solo para la garantía que realmente ofrece.
Diferencias relevantes
- Distingue el ejecutable de build invocado (el wrapper o la CLI de la herramienta) de los archivos de manifiesto y lockfile que declaran las dependencias y su resolución.
- La forma idiomática de Scala 3 debe conservarse aunque la sintaxis difiera de Kotlin.
Instala las dependencias declaradas, construye todos los módulos, ejecuta las pruebas y corre la aplicación de línea de comandos.
docker compose run --rm app sbt compile
docker compose run --rm app sbt test
docker compose run --rm app sbt runDockerfile mínimo para el toolchain de Scala 3.
FROM sbtscala/scala-sbt:eclipse-temurin-25_1.10.7_3.6.3
WORKDIR /workspace
COPY . .compose.yaml: construye la imagen y monta el proyecto para correr los comandos anteriores dentro del contenedor.
services:
app:
build: .
volumes:
- .:/workspace
working_dir: /workspace