[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Re: old version of scala


Having dug a little deeper into building scala 2.12.8, I have found two issues that needs some explaining.

Scala and sbt environemnts are a bit different from the ordinary java or C environments.

I know there already exists scala and sbt packages in debian, but as far as I understand those were built with Ant, which is the old way of doing things in scala/sbt. Nevertheless, the following might not be news.

1- Scala requires scala and sbt to build the scala project. Likewise Sbt requires scala and sbt, to build the sbt project. 2- scala does not require a system or user installation of scala, as is normal with f.ex. java and maven. - Instead, a scala project describes its scala and sbt versions in its build file, which sbt uses to bootstrap the project build environment. I.e. it downloads and installs the required scala and sbt version inside the project environment, affecting no other projects, or the system. - so in fact, one actually only needs to install the latest sbt version on a system, to bootstrap, compile and test-run any scala project. (running the completed application, as a user, requires a scala installation on the system)

With these facts at hand, the question is how to deal with this in the debian build system?

On the local maintainers machine, he just downloads and installs the tarballs of scala and sbt, to compile the newest version of scala and sbt. Then he edits, build and tests the package-src for both scala and sbt locally. But the actual building of the packages on the CI system requires sbt to already be manually installed, without a preexisting sbt package.

So to build on CI system, is it allowed to preconfigure it manually with the newest sbt version, i.e. version 1.x, from a tarball download?



Reply to: