Skip to content

Conversation

@andy1li
Copy link
Member

@andy1li andy1li commented Dec 16, 2025

Note

Adds Scala language support with sbt-based starter/template, Docker buildpack, and an initial stage solution that binds to port 4221.

  • Languages/Config:
    • Add scala to languages in course-definition.yml.
  • Docker/Buildpack:
    • Introduce dockerfiles/scala-3.7.Dockerfile (Temurin JDK, sbt 1.11.7) and build cache config via CODECRAFTERS_DEPENDENCY_FILE_PATHS.
  • Starter Template:
    • Add starter_templates/scala with sbt project (build.sbt, project/*), scripts (.codecrafters/compile.sh, .codecrafters/run.sh, your_program.sh), and skeleton App.scala.
  • Compiled Starter:
    • Add compiled_starters/scala mirroring the template plus codecrafters.yml (buildpack scala-3.7).
  • Solution (Stage at4):
    • Add solutions/scala/01-at4 with implementation that opens a ServerSocket(4221), sets SO_REUSEADDR, accepts one connection, and prints confirmation.
  • Tooling:
    • Include sbt-assembly plugin and jar naming (http-server.jar), scripts using SBT_OPTS=--enable-native-access=ALL-UNNAMED.

Written by Cursor Bugbot for commit ec5226d. This will update automatically on new commits. Configure here.

- Created initial project structure including build configuration, scripts, and README.
- Added .gitignore and .gitattributes for project management.
- Implemented basic server setup in App.scala with debugging support.
- Included scripts for local and remote execution on CodeCrafters.
- Introduced Dockerfile for Scala 3.7 with SBT setup.
- Created project files including build.sbt, .gitignore, and scripts for local and remote execution.
- Implemented basic server code in App.scala with connection handling.
- Added configuration for CodeCrafters integration.
@andy1li andy1li self-assigned this Dec 16, 2025
- Updated course-definition.yml to include Scala in the list of supported languages for the HTTP server challenge.
@andy1li andy1li merged commit 57179e6 into main Dec 16, 2025
27 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants