mirror of https://github.com/sbt/sbt.git
Merge pull request #3376 from eed3si9n/fport/3370
[fport] Fix ^^ and don't inject scalaVersion by default
This commit is contained in:
commit
2b35107a02
|
|
@ -383,7 +383,6 @@ object Defaults extends BuildCommon {
|
||||||
),
|
),
|
||||||
scalaInstance := scalaInstanceTask.value,
|
scalaInstance := scalaInstanceTask.value,
|
||||||
crossVersion := (if (crossPaths.value) CrossVersion.binary else CrossVersion.disabled),
|
crossVersion := (if (crossPaths.value) CrossVersion.binary else CrossVersion.disabled),
|
||||||
scalaVersion := PluginCross.scalaVersionSetting.value,
|
|
||||||
sbtBinaryVersion in pluginCrossBuild := binarySbtVersion(
|
sbtBinaryVersion in pluginCrossBuild := binarySbtVersion(
|
||||||
(sbtVersion in pluginCrossBuild).value),
|
(sbtVersion in pluginCrossBuild).value),
|
||||||
crossSbtVersions := Vector((sbtVersion in pluginCrossBuild).value),
|
crossSbtVersions := Vector((sbtVersion in pluginCrossBuild).value),
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@ import sbt.internal.CommandStrings._
|
||||||
import Cross.{ spacedFirst, requireSession }
|
import Cross.{ spacedFirst, requireSession }
|
||||||
import sbt.librarymanagement.Configurations._
|
import sbt.librarymanagement.Configurations._
|
||||||
import sbt.librarymanagement.VersionNumber
|
import sbt.librarymanagement.VersionNumber
|
||||||
import Project.inConfig
|
import Project.{ inConfig, inScope }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Module responsible for plugin cross building.
|
* Module responsible for plugin cross building.
|
||||||
|
|
@ -46,9 +46,10 @@ private[sbt] object PluginCross {
|
||||||
import x._
|
import x._
|
||||||
state.log.info(s"Setting `sbtVersion in pluginCrossBuild` to $version")
|
state.log.info(s"Setting `sbtVersion in pluginCrossBuild` to $version")
|
||||||
val add = List(sbtVersion in GlobalScope in pluginCrossBuild :== version) ++
|
val add = List(sbtVersion in GlobalScope in pluginCrossBuild :== version) ++
|
||||||
inConfig(Compile)(List(scalaVersion := scalaVersionSetting.value)) ++
|
List(scalaVersion := scalaVersionSetting.value) ++
|
||||||
inConfig(Test)(List(scalaVersion := scalaVersionSetting.value))
|
inScope(GlobalScope.copy(project = Select(currentRef)))(Seq(
|
||||||
|
scalaVersion := scalaVersionSetting.value
|
||||||
|
))
|
||||||
val cleared = session.mergeSettings.filterNot(crossExclude)
|
val cleared = session.mergeSettings.filterNot(crossExclude)
|
||||||
val newStructure = Load.reapply(cleared ++ add, structure)
|
val newStructure = Load.reapply(cleared ++ add, structure)
|
||||||
Project.setProject(session, newStructure, command :: state)
|
Project.setProject(session, newStructure, command :: state)
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,9 @@
|
||||||
val baseSbt = "1.0"
|
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("."))
|
lazy val root = (project in file("."))
|
||||||
.settings(
|
.settings(
|
||||||
sbtPlugin := true,
|
sbtPlugin := true,
|
||||||
|
|
@ -11,6 +15,12 @@ lazy val root = (project in file("."))
|
||||||
assert(sv == "2.12", s"Wrong e:scalaVersion: $sv")
|
assert(sv == "2.12", s"Wrong e:scalaVersion: $sv")
|
||||||
assert(scalaBinaryVersion.value == "2.12", s"Wrong Scala binary version: ${scalaBinaryVersion.value}")
|
assert(scalaBinaryVersion.value == "2.12", s"Wrong Scala binary version: ${scalaBinaryVersion.value}")
|
||||||
assert(crossV startsWith "1.0.", s"Wrong `sbtVersion in pluginCrossBuild`: $crossV")
|
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") := {
|
TaskKey[Unit]("check2") := {
|
||||||
|
|
@ -20,5 +30,13 @@ lazy val root = (project in file("."))
|
||||||
assert(sv == "2.10", s"Wrong e:scalaVersion: $sv")
|
assert(sv == "2.10", s"Wrong e:scalaVersion: $sv")
|
||||||
assert(scalaBinaryVersion.value == "2.10", s"Wrong Scala binary version: ${scalaBinaryVersion.value}")
|
assert(scalaBinaryVersion.value == "2.10", s"Wrong Scala binary version: ${scalaBinaryVersion.value}")
|
||||||
assert(crossV startsWith "0.13", s"Wrong `sbtVersion in pluginCrossBuild`: $crossV")
|
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"))
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue