Skip to content

Simplify specific compiler bridge sources support #2196

@eed3si9n

Description

@eed3si9n

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions