mirror of https://github.com/sbt/sbt.git
Merge pull request #5329 from eatkins/cross-serial
Run cross commands (with `+`) in parallel when possible
This commit is contained in:
commit
cba3843965
|
|
@ -194,7 +194,13 @@ object Cross {
|
|||
.sortBy(_._1)
|
||||
commandsByVersion.flatMap {
|
||||
case (v, commands) =>
|
||||
Seq(s"$SwitchCommand $verbose $v!") ++ commands
|
||||
commands match {
|
||||
case Seq(c) => Seq(s"$SwitchCommand $verbose $v! $c")
|
||||
case Seq() => Nil // should be unreachable
|
||||
case multi if fullArgs.isEmpty =>
|
||||
Seq(s"$SwitchCommand $verbose $v! all ${multi.mkString(" ")}")
|
||||
case multi => Seq(s"$SwitchCommand $verbose $v!") ++ multi
|
||||
}
|
||||
}
|
||||
}
|
||||
allCommands.toList ::: CrossRestoreSessionCommand :: captureCurrentSession(state, extracted)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
lazy val scala212 = "2.12.10"
|
||||
// keep this at M5 to test full version
|
||||
lazy val scala213 = "2.13.0-M5"
|
||||
lazy val scala213 = "2.13.1"
|
||||
|
||||
ThisBuild / crossScalaVersions := Seq(scala212, scala213)
|
||||
ThisBuild / scalaVersion := scala212
|
||||
|
|
|
|||
|
|
@ -1,43 +1,43 @@
|
|||
> + compile
|
||||
$ exists lib/target/scala-2.12
|
||||
$ exists lib/target/scala-2.13.0-M5
|
||||
$ exists lib/target/scala-2.13
|
||||
$ exists sbt-foo/target/scala-2.12
|
||||
-$ exists sbt-foo/target/scala-2.13.0-M5
|
||||
-$ exists sbt-foo/target/scala-2.13
|
||||
|
||||
> clean
|
||||
> + libProj/compile
|
||||
$ exists lib/target/scala-2.12
|
||||
$ exists lib/target/scala-2.13.0-M5
|
||||
$ exists lib/target/scala-2.13
|
||||
-$ exists sbt-foo/target/scala-2.12
|
||||
-$ exists sbt-foo/target/scala-2.13.0-M5
|
||||
-$ exists sbt-foo/target/scala-2.13
|
||||
|
||||
# test safe switching
|
||||
> clean
|
||||
> ++ 2.12.10 -v compile
|
||||
$ exists lib/target/scala-2.12
|
||||
-$ exists lib/target/scala-2.13.0-M5
|
||||
-$ exists lib/target/scala-2.13
|
||||
$ exists sbt-foo/target/scala-2.12
|
||||
-$ exists sbt-foo/target/scala-2.13.0-M5
|
||||
-$ exists sbt-foo/target/scala-2.13
|
||||
|
||||
# Test legacy cross build with command support
|
||||
# > clean
|
||||
# > + build
|
||||
# $ exists lib/target/scala-2.12
|
||||
# $ exists lib/target/scala-2.13.0-M5
|
||||
# $ exists lib/target/scala-2.13
|
||||
# $ exists sbt-foo/target/scala-2.12
|
||||
# -$ exists sbt-foo/target/scala-2.13.0-M5
|
||||
# -$ exists sbt-foo/target/scala-2.13
|
||||
|
||||
# Test ++ leaves crossScalaVersions unchanged
|
||||
> clean
|
||||
> ++2.12.10
|
||||
> +extrasProj/compile
|
||||
$ exists extras/target/scala-2.13.0-M5
|
||||
$ exists extras/target/scala-2.13
|
||||
$ exists extras/target/scala-2.12
|
||||
|
||||
# test safe switching
|
||||
> clean
|
||||
> ++ 2.13.0-M5 -v compile
|
||||
$ exists lib/target/scala-2.13.0-M5
|
||||
> ++ 2.13.1 -v compile
|
||||
$ exists lib/target/scala-2.13
|
||||
-$ exists lib/target/scala-2.12
|
||||
# -$ exists sbt-foo/target/scala-2.12
|
||||
-$ exists sbt-foo/target/scala-2.13.0-M5
|
||||
-$ exists sbt-foo/target/scala-2.13
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
lazy val scala212 = "2.12.10"
|
||||
lazy val scala213 = "2.13.0-M5"
|
||||
lazy val scala213 = "2.13.1"
|
||||
|
||||
ThisBuild / scalaVersion := scala212
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
-> ++2.12.0-magic
|
||||
|
||||
> ++2.13.0-M5 compile
|
||||
> ++2.13.1 compile
|
||||
|
||||
$ exists core/target/scala-2.13.0-M5
|
||||
-$ exists module/target/scala-2.13.0-M5
|
||||
$ exists core/target/scala-2.13
|
||||
-$ exists module/target/scala-2.13
|
||||
-$ exists module/target/scala-2.12
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
lazy val scala212 = "2.12.10"
|
||||
lazy val scala213 = "2.13.0-M5"
|
||||
lazy val scala213 = "2.13.1"
|
||||
ThisBuild / scalaVersion := scala212
|
||||
|
||||
lazy val root = (project in file("."))
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
> + compile
|
||||
$ exists target/scala-2.12
|
||||
$ exists target/scala-2.13.0-M5
|
||||
$ exists target/scala-2.13
|
||||
|
|
|
|||
Loading…
Reference in New Issue