-
Notifications
You must be signed in to change notification settings - Fork 1k
Description
REF #2106. I take responsibility for the current design described in sbt incrementlcompiler API plans.
As it stands, I am a bit concerned about the "repeatable build" issue, also the annoyance of hitting the Internet, which may not be required. (#2174)
For example, if a new Scala 2.12.0-M3 comes out, and tomorrow a specific compiler bridge comes out for it, depending on when you started the build, the outcome of the JAR may become different.
In the document it says:
sbt should provide a Seq[ModuleID] setting called scalaCompilerBridgeSources. In the worst case scenario if Scala (or community fork) compiler break things without a recourse, a third party can supply a bridge.
We should actually provide ModuleID setting named scalaCompilerBridgeSource, and that setting should be the one describing the cascade logic in Defaults.scala using pattern match on scalaVersion key. This way, given a particular version of sbt (like 2.10.5 or 2.12.0-M3), the build is going to be repeatable regardless of the state of the Internet.