docker-sbt icon indicating copy to clipboard operation
docker-sbt copied to clipboard

Why include Scala?

Open charpov opened this issue 2 years ago • 10 comments

I've been maintaining my own java+sbt image for a few years, but I'd rather switch to yours to make my life simpler. I'm wondering why you include Scala in the image, given that sbt is all you need to run a project. Also, since sbt can download specific versions of itself, why specify a version at all? If all that was specified is the Java version, it would greatly simplify the tags. ~~For instance, right now, there's no image for the latest LTS Java (17) latest sbt (1.9.0) and latest Scala (3.3.0).~~ (Actually, there is; makes my point about having too many tags...)

charpov avatar Jun 12 '23 13:06 charpov

We try to bootstrap sbt for a certain scala version so that it is ready for use and does not require any further downloads.

I do agree that the separate scala we install is a bit overkill if you only want sbt as sbt will pull in scala in a different folder on bootstrap. Initially the idea was to have an image that could also be used for scala without using sbt. (before the repo was moved over here)

https://github.com/sbt/docker-sbt/blob/91d72cf4d386ba7e8d93674b68d75bc54120d6b9/eclipse-temurin/Dockerfile#L62-L71

Personally I would not mind removing the separate scala install but that will not change anything regarding labeling of sbt-scala image as we still want to bootstrap the sbt/scala combo.

francisdb avatar Jun 12 '23 14:06 francisdb

Understood. I used to do that too (bootstrapping) but I eventually gave up. With good caching/volumes, I don't mind having everything downloaded one time. Smaller image with less frequent updates too. I guess a plain eclipse-temurin-17 tag (with sbt and Scala set to whatever) would make my life easier, but I can manage without it.

charpov avatar Jun 12 '23 14:06 charpov