From 7af4163cb83e414a19be8484cdbb6f1b04686e99 Mon Sep 17 00:00:00 2001 From: Jim Lawson Date: Wed, 20 Sep 2017 12:22:16 -0700 Subject: Generate aggregate coverage but publish a single Jar (#695) * Generate aggregate coverage but publish a single Jar * Reduce the aggressive dis-aggregation as it breaks super project aggregation. --- build.sbt | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/build.sbt b/build.sbt index 4657d7bf..7d5454ad 100644 --- a/build.sbt +++ b/build.sbt @@ -137,9 +137,7 @@ 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"). - // The following is required until sbt-scoverage correctly deals with inDependencies - // Unfortunately, it also revives publishing of the subproject jars. Disable until the latter is resolved (again). - //aggregate(coreMacros, chiselFrontend). + aggregate(coreMacros, chiselFrontend). settings( scalacOptions in Test ++= Seq("-language:reflectiveCalls"), scalacOptions in Compile in doc ++= Seq( @@ -149,7 +147,13 @@ lazy val chisel = (project in file(".")). "-doc-title", name.value, "-doc-root-content", baseDirectory.value+"/root-doc.txt" ), - aggregate in doc := false, + // 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