workaround client / clean problem

Ref https://github.com/sbt/sbt/issues/5314
Ref https://github.com/sbt/sbt/pull/5265

In sbt 1.3.4, it's possible to define a subproject named `client`.
The current parser behaves differently whether we calll `client/clean` or `client / clean` with whitespaces. The one with the whitespace invokes `client` command (as in thin client). This gets triggered by `+clean` because the new implementation uses whitespace.
This commit is contained in:
Eugene Yokota 2019-12-17 12:52:18 -05:00
parent 19c3b44b59
commit faa1540009
4 changed files with 19 additions and 6 deletions

View File

@ -183,7 +183,7 @@ object Cross {
val parts = project(k).map(_.project) ++ k.scope.config.toOption.map { val parts = project(k).map(_.project) ++ k.scope.config.toOption.map {
case ConfigKey(n) => n.head.toUpper + n.tail case ConfigKey(n) => n.head.toUpper + n.tail
} ++ k.scope.task.toOption.map(_.label) ++ Some(k.key.label) } ++ k.scope.task.toOption.map(_.label) ++ Some(k.key.label)
Some(v -> parts.mkString("", " / ", fullArgs)) Some(v -> parts.mkString("", "/", fullArgs))
} else None } else None
} }
} }

View File

@ -1,2 +1,16 @@
val foo = project lazy val root = (project in file("."))
val root = (project in file(".")).aggregate(foo) .aggregate(foo, client)
.settings(
crossScalaVersions := Nil
)
lazy val foo = project
.settings(
crossScalaVersions := Seq("2.12.10", "2.13.1"),
libraryDependencies += "org.scalatest" %% "scalatest" % "3.1.0",
)
lazy val client = project
.settings(
crossScalaVersions := Seq("2.12.10", "2.13.1"),
)

View File

@ -1,3 +0,0 @@
crossScalaVersions := Seq("2.12.10", "2.13.1")
libraryDependencies += "org.scalatest" %% "scalatest" % "3.1.0"

View File

@ -1,3 +1,5 @@
> + clean
> + foo / testOnly foo.FooSpec > + foo / testOnly foo.FooSpec
> + testOnly foo.FooSpec > + testOnly foo.FooSpec