semanticdb-sbt - Semantic API for Scala 2.10 and sbt 0.13
The objective of this project is aid migration from sbt v0.13 to v1.0. In particular, the objective is to allow scalafix to use the Scalameta Semantic API for accurate source rewriting of sbt build files. This project is not intended to be used for other purposes.
This project consists of two modules:
- semanticdb-sbt: a compiler plugin for Scala 2.10 that emits
.semanticdbfiles (see Semantic DB) during compilation. semanticdb-sbt only emits offset positions and it does not make an effort to disambiguate between resolved names in conflicting positions.
- semanticdb-sbt-runtime: a 2.11/2.12 library that modifies/patches
.semanticdbfiles, produced by semanticdb-sbt. semanticdb-sbt-runtime is used by applications like scalafix at runtime, as opposed to compile-time during creation of
.semanticdbfiles. semanticdb-sbt-runtime does a best-effort of converting the emitted offset positions into range positions as well as to disambiguate between names at conflicting positions.
Note. The codebase still has occasional references to sbthost, which is the old name of semanticdb-sbt.