Hello all,
I don't have an easy test case for this as we have an overly complicated build still...
I have a build where we have:
- We are currently using sbt version 0.11.1-20111007-052041 (for the hash API changes).
- all is a project that aggregates all-data and all-services.
- all-data and all-services each aggregate more projects.
- all-services have tests that can not run in parallel with each other.
- We set parallelExecution in Test := false in the aggregating projects as well as the aggregated projects.
- Yet the services aggregated by all-services are running their tests in parallel with each other.
If I do a show test:parallel-execution at the root level (or any other level), sbt tells me that it is false everywhere:
[info] service-a/test:parallel-execution
[info] false
[info] all-services/test:parallel-execution
[info] false
[info] data-a/test:parallel-execution
[info] false
[info] all-data/test:parallel-execution
[info] false
[info] all/test:parallel-execution
[info] false
The build definition looks similar to:
lazy val all = BaseProject(
id = "all",
base = file("."),
settings = parentSettings,
aggregate = Seq(allServices, allData)
)
lazy val allServices = BaseProject(
id = "all-services",
base = file("."),
settings = parentSettings,
aggregate = Seq(
serviceA
)
)
lazy val allData = BaseProject(
id = "all-data",
base = file("."),
settings = parentSettings,
aggregate = Seq(dataA)
)
lazy val parentSettings = Defaults.defaultSettings ++ Seq(
parallelExecution in Test := false,
publishArtifact in Compile := false
)
So:
- Am I misunderstanding something?
- Is this is an issue with using aggregates?
- What other info can I provide to help?
As an aside, it would be nice if tests could still compile in parallel even if they don't run in parallel ... not sure if that's the case or not since I haven't gotten the tests to not run in parallel yet. :)
Thanks!
- Bruce