From e08da9127b3465f158145f97ef16eb9fc8d0b5a7 Mon Sep 17 00:00:00 2001 From: Jim Lawson Date: Thu, 22 Feb 2018 13:02:44 -0800 Subject: Aggregate coverage - discover a working combination of aggregate usage to enable coverage of subprojects. (#782) * Generate aggregate coverage but publish a single Jar * Reduce the aggressive dis-aggregation as it breaks super project aggregation. * trying to get aggregate coverage working again ... * Use the right incantation to enable aggregation for only the coverageReport task. --- build.sbt | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/build.sbt b/build.sbt index 952a2a4c..ffd487ad 100644 --- a/build.sbt +++ b/build.sbt @@ -136,6 +136,16 @@ lazy val chisel = (project in file(".")). // Prevent separate JARs from being generated for coreMacros and chiselFrontend. dependsOn(coreMacros % "compile-internal;test-internal"). dependsOn(chiselFrontend % "compile-internal;test-internal"). + // Disable aggregation in general, but enable it for specific tasks. + // Otherwise we get separate Jar files for each subproject and we + // go to great pains to package all chisel3 core code in a single Jar. + // If you get errors indicating coverageReport is undefined, be sure + // you have sbt-scoverage in project/plugins.sbt + aggregate(coreMacros, chiselFrontend). + settings( + aggregate := false, + aggregate in coverageReport := true + ). settings( scalacOptions in Test ++= Seq("-language:reflectiveCalls"), scalacOptions in Compile in doc ++= Seq( @@ -145,13 +155,6 @@ lazy val chisel = (project in file(".")). "-doc-title", name.value, "-doc-root-content", baseDirectory.value+"/root-doc.txt" ), - // Disable aggregation in general, but enable it for specific tasks. - // Otherwise we get separate Jar files for each subproject and we - // go to great pains to package all chisel3 core code in a single Jar. - // If you get errors indicating coverageReport is undefined, be sure - // you have sbt-scoverage in project/plugins.sbt - aggregate := false, - aggregate in coverageReport := true, // Include macro classes, resources, and sources main JAR. mappings in (Compile, packageBin) ++= (mappings in (coreMacros, Compile, packageBin)).value, mappings in (Compile, packageSrc) ++= (mappings in (coreMacros, Compile, packageSrc)).value, -- cgit v1.2.3