mirror of https://github.com/sbt/sbt.git
Merge pull request #4264 from eed3si9n/wip/javacrossfix
Fixes contains bug
This commit is contained in:
commit
c02bc2f9d1
|
|
@ -161,7 +161,8 @@ private[sbt] object CrossJava {
|
|||
case Some(v) =>
|
||||
projectJavaVersions flatMap {
|
||||
case (proj, versions) =>
|
||||
if (versions.isEmpty || versions.contains(v)) Vector(proj -> versions)
|
||||
if (versions.isEmpty || versions.contains[String](v.toString))
|
||||
Vector(proj -> versions)
|
||||
else Vector()
|
||||
}
|
||||
}
|
||||
|
|
@ -184,7 +185,7 @@ private[sbt] object CrossJava {
|
|||
|
||||
val filterKeys: Set[AttributeKey[_]] = Set(javaHome).map(_.key)
|
||||
|
||||
val projectsContains: Reference => Boolean = projects.map(_._1).toSet.contains
|
||||
val projectsContains: Reference => Boolean = projects.map(_._1).toSet[Reference].contains(_)
|
||||
|
||||
// Filter out any old javaHome version settings that were added, this is just for hygiene.
|
||||
val filteredRawAppend = session.rawAppend.filter(_.key match {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,25 @@
|
|||
import complete.DefaultParsers._
|
||||
|
||||
val check = inputKey[Unit]("Runs the check")
|
||||
|
||||
lazy val root = (project in file("."))
|
||||
.settings(
|
||||
ThisBuild / scalaVersion := "2.12.6",
|
||||
crossJavaVersions := List("1.8", "10"),
|
||||
|
||||
// read out.txt and see if it starts with the passed in number
|
||||
check := {
|
||||
val arg1: Int = (Space ~> NatBasic).parsed
|
||||
file("out.txt") match {
|
||||
case out if out.exists =>
|
||||
IO.readLines(out).headOption match {
|
||||
case Some(v) if v startsWith arg1.toString => ()
|
||||
case Some(v) if v startsWith s"1.$arg1" => ()
|
||||
case x => sys.error(s"unexpected value: $x")
|
||||
}
|
||||
case out => sys.error(s"$out doesn't exist")
|
||||
}
|
||||
},
|
||||
|
||||
Compile / run / fork := true,
|
||||
)
|
||||
|
|
@ -4,3 +4,12 @@
|
|||
> java++ 10!
|
||||
> run
|
||||
> check 10
|
||||
|
||||
# test safe switching
|
||||
$ copy-file changes/build.sbt build.sbt
|
||||
$ delete out.txt
|
||||
> reload
|
||||
> clean
|
||||
> java++ 10
|
||||
> run
|
||||
> check 10
|
||||
|
|
|
|||
Loading…
Reference in New Issue