diff --git a/dashboard/plugin.properties b/dashboard/plugin.properties
index c4af6878..8acc85d7 100644
--- a/dashboard/plugin.properties
+++ b/dashboard/plugin.properties
@@ -32,6 +32,10 @@ maven.dashboard.template = ${plugin.resources}/templates/dashboard.jsl
# (otherwise the reactor will be run again on your child projects).
maven.dashboard.runreactor = true
+# If true, do not show projects for which gathered data is empty for all
+# aggregators.
+maven.dashboard.report.showempty = true
+
# Properties for gathering dashboard data for a single project
# ------------------------------------------------------------
diff --git a/dashboard/src/plugin-resources/templates/dashboard.jsl b/dashboard/src/plugin-resources/templates/dashboard.jsl
index 4a5e64ca..6f78def9 100644
--- a/dashboard/src/plugin-resources/templates/dashboard.jsl
+++ b/dashboard/src/plugin-resources/templates/dashboard.jsl
@@ -33,10 +33,23 @@
-
- |
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+ |
+
+
+
+
diff --git a/dashboard/src/plugin-test/maven.xml b/dashboard/src/plugin-test/maven.xml
index 3738a3ad..f8b8ce28 100644
--- a/dashboard/src/plugin-test/maven.xml
+++ b/dashboard/src/plugin-test/maven.xml
@@ -4,20 +4,36 @@
xmlns:ant="jelly:ant"
xmlns:x="jelly:xml"
xmlns:assert="assert">
-
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dashboard/xdocs/changes.xml b/dashboard/xdocs/changes.xml
index 08b75e13..afbce242 100644
--- a/dashboard/xdocs/changes.xml
+++ b/dashboard/xdocs/changes.xml
@@ -8,6 +8,11 @@
+
+ Added new maven.dashboard.report.showempty property. If
+ set to false, the HTML report table will not contain entries for
+ projects for which no aggregator data was retrieved.
+
diff --git a/dashboard/xdocs/properties.xml b/dashboard/xdocs/properties.xml
index 2fd35e50..c42bb47c 100644
--- a/dashboard/xdocs/properties.xml
+++ b/dashboard/xdocs/properties.xml
@@ -13,7 +13,7 @@
maven.dashboard.basedir=${basedir}
maven.dashboard.includes=*/project.xml
-maven.dashboard.excludes=**/target/**/project.xml,project.xml
+maven.dashboard.excludes=**/target/**/project.xml
maven.dashboard.ignoreFailures=false
# Generated dashboard xml data file
@@ -35,6 +35,10 @@ maven.dashboard.template = ${plugin.resources}/templates/dashboard.jsl
# (otherwise the reactor will be run again on your child projects).
maven.dashboard.runreactor = true
+# If true, do not show projects for which gathered data is empty for all
+# aggregators.
+maven.dashboard.report.showempty = true
+
# Properties for gathering dashboard data for a single project
# ------------------------------------------------------------
@@ -42,13 +46,43 @@ maven.dashboard.runreactor = true
maven.dashboard.aggregators.dir = ${plugin.resources}/reports
# Comma-separated list of aggregators to use
-maven.dashboard.aggregators = checkstyle
+maven.dashboard.aggregators = cserrors,cswarnings,clovertpc,cloverloc,cloverncloc
-# Properties for the default checkstyle aggregator
-maven.dashboard.aggregator.checkstyle.script = ${maven.dashboard.aggregators.dir}/checkstyle.jelly
-maven.dashboard.aggregator.checkstyle.artifact = ${maven.build.dir}/checkstyle-raw-report.xml
-maven.dashboard.aggregator.checkstyle.label = Checkstyle errors
-maven.dashboard.aggregator.checkstyle.goal = checkstyle
+# Properties for the Checkstyle error/warning aggregator (all errors/warnings)
+maven.dashboard.aggregator.csall.script = ${maven.dashboard.aggregators.dir}/csall.jelly
+maven.dashboard.aggregator.csall.artifact = ${maven.build.dir}/checkstyle-raw-report.xml
+maven.dashboard.aggregator.csall.label = CS err/warn
+maven.dashboard.aggregator.csall.goal = checkstyle
+
+# Properties for the Checkstyle error aggregator (only errors)
+maven.dashboard.aggregator.cserrors.script = ${maven.dashboard.aggregators.dir}/cserrors.jelly
+maven.dashboard.aggregator.cserrors.artifact = ${maven.build.dir}/checkstyle-raw-report.xml
+maven.dashboard.aggregator.cserrors.label = CS errors
+maven.dashboard.aggregator.cserrors.goal = checkstyle
+
+# Properties for the Checkstyle warning aggregator (only warnings)
+maven.dashboard.aggregator.cswarnings.script = ${maven.dashboard.aggregators.dir}/cswarnings.jelly
+maven.dashboard.aggregator.cswarnings.artifact = ${maven.build.dir}/checkstyle-raw-report.xml
+maven.dashboard.aggregator.cswarnings.label = CS warnings
+maven.dashboard.aggregator.cswarnings.goal = checkstyle
+
+# Properties for the Clover TPC aggregator (TPC = Total Percent Coverage)
+maven.dashboard.aggregator.clovertpc.script = ${maven.dashboard.aggregators.dir}/clovertpc.jelly
+maven.dashboard.aggregator.clovertpc.artifact = ${maven.build.dir}/clover.xml
+maven.dashboard.aggregator.clovertpc.label = Clover TPC
+maven.dashboard.aggregator.clovertpc.goal = clover
+
+# Properties for the Clover LOC aggregator (LOC = Line Of Code)
+maven.dashboard.aggregator.cloverloc.script = ${maven.dashboard.aggregators.dir}/cloverloc.jelly
+maven.dashboard.aggregator.cloverloc.artifact = ${maven.build.dir}/clover.xml
+maven.dashboard.aggregator.cloverloc.label = Clover LOC
+maven.dashboard.aggregator.cloverloc.goal = clover
+
+# Properties for the Clover NCLOC aggregator (NCLOC = Non Comment Line Of Code)
+maven.dashboard.aggregator.cloverncloc.script = ${maven.dashboard.aggregators.dir}/cloverncloc.jelly
+maven.dashboard.aggregator.cloverncloc.artifact = ${maven.build.dir}/clover.xml
+maven.dashboard.aggregator.cloverncloc.label = Clover NCLOC
+maven.dashboard.aggregator.cloverncloc.goal = clover
# Generated dashboard data for a single project
maven.dashboard.report.single = ${maven.build.dir}/dashboard-single.xml