Merge pull request #4323 from jastice/dont-warn-version-override

don't warn when current sbt version doesn't match version in build.properties
This commit is contained in:
eugene yokota 2018-08-16 16:05:17 -04:00 committed by GitHub
commit f8beb5fcce
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 14 additions and 5 deletions

View File

@ -801,15 +801,24 @@ object BuiltinCommands {
def checkSBTVersionChanged(state: State): Unit = { def checkSBTVersionChanged(state: State): Unit = {
import sbt.io.syntax._ import sbt.io.syntax._
val app = state.configuration.provider val sbtVersionProperty = "sbt.version"
// Don't warn if current version has been set in system properties
val sbtVersionSystemOpt =
Option(System.getProperty(sbtVersionProperty))
// the intention is to warn if build.properties file has changed during current sbt session
// a `reload` will not respect this change while `reboot` will.
val buildProps = state.baseDir / "project" / "build.properties" val buildProps = state.baseDir / "project" / "build.properties"
// First try reading the sbt version from build.properties file. val sbtVersionBuildOpt = if (buildProps.exists) {
val sbtVersionOpt = if (buildProps.exists) {
val buildProperties = new Properties() val buildProperties = new Properties()
IO.load(buildProperties, buildProps) IO.load(buildProperties, buildProps)
Option(buildProperties.getProperty("sbt.version")) Option(buildProperties.getProperty(sbtVersionProperty))
} else None } else None
val sbtVersionOpt = sbtVersionSystemOpt.orElse(sbtVersionBuildOpt)
val app = state.configuration.provider
sbtVersionOpt.foreach( sbtVersionOpt.foreach(
version => version =>
if (version != app.id.version()) { if (version != app.id.version()) {