mirror of https://github.com/sbt/sbt.git
-Dsbt.semanticdb=true to enable SemanticDB
This commit is contained in:
parent
837dcbb5a6
commit
8789d20724
|
|
@ -18,13 +18,20 @@ import sbt.internal.util.complete.SizeParser
|
||||||
// See also LineReader.scala
|
// See also LineReader.scala
|
||||||
object SysProp {
|
object SysProp {
|
||||||
def booleanOpt(name: String): Option[Boolean] =
|
def booleanOpt(name: String): Option[Boolean] =
|
||||||
sys.props.get(name).flatMap { x =>
|
sys.props.get(name) match {
|
||||||
x.toLowerCase(Locale.ENGLISH) match {
|
case Some(x) => parseBoolean(x)
|
||||||
case "1" | "always" | "true" => Some(true)
|
case _ =>
|
||||||
case "0" | "never" | "false" => Some(false)
|
sys.env.get(name.toUpperCase(Locale.ENGLISH).replace('.', '_')) match {
|
||||||
case "auto" => None
|
case Some(x) => parseBoolean(x)
|
||||||
case _ => None
|
case _ => None
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
private def parseBoolean(value: String): Option[Boolean] =
|
||||||
|
value.toLowerCase(Locale.ENGLISH) match {
|
||||||
|
case "1" | "always" | "true" => Some(true)
|
||||||
|
case "0" | "never" | "false" => Some(false)
|
||||||
|
case "auto" => None
|
||||||
|
case _ => None
|
||||||
}
|
}
|
||||||
|
|
||||||
def getOrFalse(name: String): Boolean = booleanOpt(name).getOrElse(false)
|
def getOrFalse(name: String): Boolean = booleanOpt(name).getOrElse(false)
|
||||||
|
|
@ -71,6 +78,7 @@ object SysProp {
|
||||||
def ci: Boolean = getOrFalse("sbt.ci")
|
def ci: Boolean = getOrFalse("sbt.ci")
|
||||||
def allowRootDir: Boolean = getOrFalse("sbt.rootdir")
|
def allowRootDir: Boolean = getOrFalse("sbt.rootdir")
|
||||||
def legacyTestReport: Boolean = getOrFalse("sbt.testing.legacyreport")
|
def legacyTestReport: Boolean = getOrFalse("sbt.testing.legacyreport")
|
||||||
|
def semanticdb: Boolean = getOrFalse("sbt.semanticdb")
|
||||||
|
|
||||||
def watchMode: String =
|
def watchMode: String =
|
||||||
sys.props.get("sbt.watch.mode").getOrElse("auto")
|
sys.props.get("sbt.watch.mode").getOrElse("auto")
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ package sbt
|
||||||
package plugins
|
package plugins
|
||||||
|
|
||||||
import Keys._
|
import Keys._
|
||||||
|
import sbt.internal.SysProp
|
||||||
import sbt.librarymanagement.syntax._
|
import sbt.librarymanagement.syntax._
|
||||||
import sbt.librarymanagement.CrossVersion
|
import sbt.librarymanagement.CrossVersion
|
||||||
import Project.inConfig
|
import Project.inConfig
|
||||||
|
|
@ -18,7 +19,7 @@ object SemanticdbPlugin extends AutoPlugin {
|
||||||
override def trigger = allRequirements
|
override def trigger = allRequirements
|
||||||
|
|
||||||
override lazy val globalSettings: Seq[Def.Setting[_]] = Seq(
|
override lazy val globalSettings: Seq[Def.Setting[_]] = Seq(
|
||||||
semanticdbEnabled := false,
|
semanticdbEnabled := SysProp.semanticdb,
|
||||||
semanticdbIncludeInJar := false,
|
semanticdbIncludeInJar := false,
|
||||||
semanticdbOptions := List("-Yrangepos"),
|
semanticdbOptions := List("-Yrangepos"),
|
||||||
semanticdbVersion := "4.3.15"
|
semanticdbVersion := "4.3.15"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue