Merge pull request #3376 from eed3si9n/fport/3370

[fport] Fix ^^ and don't inject scalaVersion by default
This commit is contained in:
Dale Wijnand 2017-07-27 07:11:46 +01:00 committed by GitHub
commit 2b35107a02
3 changed files with 23 additions and 5 deletions

View File

@ -383,7 +383,6 @@ object Defaults extends BuildCommon {
),
scalaInstance := scalaInstanceTask.value,
crossVersion := (if (crossPaths.value) CrossVersion.binary else CrossVersion.disabled),
scalaVersion := PluginCross.scalaVersionSetting.value,
sbtBinaryVersion in pluginCrossBuild := binarySbtVersion(
(sbtVersion in pluginCrossBuild).value),
crossSbtVersions := Vector((sbtVersion in pluginCrossBuild).value),

View File

@ -17,7 +17,7 @@ import sbt.internal.CommandStrings._
import Cross.{ spacedFirst, requireSession }
import sbt.librarymanagement.Configurations._
import sbt.librarymanagement.VersionNumber
import Project.inConfig
import Project.{ inConfig, inScope }
/**
* Module responsible for plugin cross building.
@ -46,9 +46,10 @@ private[sbt] object PluginCross {
import x._
state.log.info(s"Setting `sbtVersion in pluginCrossBuild` to $version")
val add = List(sbtVersion in GlobalScope in pluginCrossBuild :== version) ++
inConfig(Compile)(List(scalaVersion := scalaVersionSetting.value)) ++
inConfig(Test)(List(scalaVersion := scalaVersionSetting.value))
List(scalaVersion := scalaVersionSetting.value) ++
inScope(GlobalScope.copy(project = Select(currentRef)))(Seq(
scalaVersion := scalaVersionSetting.value
))
val cleared = session.mergeSettings.filterNot(crossExclude)
val newStructure = Load.reapply(cleared ++ add, structure)
Project.setProject(session, newStructure, command :: state)

View File

@ -1,5 +1,9 @@
val baseSbt = "1.0"
val buildCrossList = List("2.10.6", "2.11.11", "2.12.2")
scalaVersion in ThisBuild := "2.12.2"
crossScalaVersions in ThisBuild := buildCrossList
lazy val root = (project in file("."))
.settings(
sbtPlugin := true,
@ -11,6 +15,12 @@ lazy val root = (project in file("."))
assert(sv == "2.12", s"Wrong e:scalaVersion: $sv")
assert(scalaBinaryVersion.value == "2.12", s"Wrong Scala binary version: ${scalaBinaryVersion.value}")
assert(crossV startsWith "1.0.", s"Wrong `sbtVersion in pluginCrossBuild`: $crossV")
// crossScalaVersions in app should not be affected
val appCrossScalaVersions = (crossScalaVersions in app).value.toList
val appScalaVersion = (scalaVersion in app).value
assert(appCrossScalaVersions == buildCrossList, s"Wrong `crossScalaVersions in app`: $appCrossScalaVersions")
assert(appScalaVersion startsWith "2.12", s"Wrong `scalaVersion in app`: $appScalaVersion")
},
TaskKey[Unit]("check2") := {
@ -20,5 +30,13 @@ lazy val root = (project in file("."))
assert(sv == "2.10", s"Wrong e:scalaVersion: $sv")
assert(scalaBinaryVersion.value == "2.10", s"Wrong Scala binary version: ${scalaBinaryVersion.value}")
assert(crossV startsWith "0.13", s"Wrong `sbtVersion in pluginCrossBuild`: $crossV")
// ^^ should not affect app's crossScalaVersions
val appCrossScalaVersions = (crossScalaVersions in app).value.toList
val appScalaVersion = (scalaVersion in app).value
assert(appCrossScalaVersions == buildCrossList, s"Wrong `crossScalaVersions in app`: $appCrossScalaVersions")
assert(appScalaVersion startsWith "2.12", s"Wrong `scalaVersion in app`: $appScalaVersion")
}
)
lazy val app = (project in file("app"))