From a17770ed8dc7137abe17c4cf4748390e6273652e Mon Sep 17 00:00:00 2001 From: vmassol Date: Wed, 19 Jan 2005 08:04:50 +0000 Subject: [PATCH] - Added technical background documentation on the web site (Contributed by Siegfried Goeschl) - Addeed JavaNCSS aggregators (Contributed by Siegfried Goeschl) git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@125594 13f79535-47bb-0310-9956-ffa450edef68 --- dashboard/plugin.properties | 36 +++++- dashboard/project.xml | 7 +- .../aggregators/javancssclassestotal.jelly | 45 +++++++ .../aggregators/javancssfunctionstotal.jelly | 45 +++++++ .../aggregators/javancssjavadocstotal.jelly | 45 +++++++ .../aggregators/javancssncsstotal.jelly | 45 +++++++ .../aggregators/javancsspackagestotal.jelly | 45 +++++++ dashboard/src/plugin-test/maven.xml | 4 +- dashboard/src/plugin-test/project.properties | 2 +- dashboard/src/plugin-test/project.xml | 7 + .../src/plugin-test/subproject1/project.xml | 1 + dashboard/xdocs/aggregators.xml | 39 +++++- dashboard/xdocs/changes.xml | 12 +- dashboard/xdocs/faq.fml | 22 +++- dashboard/xdocs/navigation.xml | 3 +- dashboard/xdocs/technical.xml | 122 ++++++++++++++++++ 16 files changed, 470 insertions(+), 10 deletions(-) create mode 100644 dashboard/src/plugin-resources/aggregators/javancssclassestotal.jelly create mode 100644 dashboard/src/plugin-resources/aggregators/javancssfunctionstotal.jelly create mode 100644 dashboard/src/plugin-resources/aggregators/javancssjavadocstotal.jelly create mode 100644 dashboard/src/plugin-resources/aggregators/javancssncsstotal.jelly create mode 100644 dashboard/src/plugin-resources/aggregators/javancsspackagestotal.jelly create mode 100644 dashboard/xdocs/technical.xml diff --git a/dashboard/plugin.properties b/dashboard/plugin.properties index 16129678..2ccab69c 100644 --- a/dashboard/plugin.properties +++ b/dashboard/plugin.properties @@ -1,5 +1,5 @@ # ------------------------------------------------------------------- -# Copyright 2001-2004 The Apache Software Foundation. +# Copyright 2001-2005 The Apache Software Foundation. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -252,3 +252,37 @@ maven.dashboard.aggregator.scmchangedcommit.label = SCM commits maven.dashboard.aggregator.scmchangedcommit.goal = maven-changelog-plugin:report maven.dashboard.aggregator.scmchangedcommit.description = Total number of scm commit. +# JavaNCSS: total number of packages +maven.dashboard.aggregator.javancsspackagestotal.script = ${maven.dashboard.aggregators.dir}/javancsspackagestotal.jelly +maven.dashboard.aggregator.javancsspackagestotal.artifact = ${maven.build.dir}/javancss-raw-report.xml +maven.dashboard.aggregator.javancsspackagestotal.label = JavaNCSS Packages Total +maven.dashboard.aggregator.javancsspackagestotal.goal = maven-javancss-plugin:report +maven.dashboard.aggregator.javancsspackagestotal.description = Total number of JavaNCSS packages + +# JavaNCSS: total number of classes +maven.dashboard.aggregator.javancssclassestotal.script = ${maven.dashboard.aggregators.dir}/javancssclassestotal.jelly +maven.dashboard.aggregator.javancssclassestotal.artifact = ${maven.build.dir}/javancss-raw-report.xml +maven.dashboard.aggregator.javancssclassestotal.label = JavaNCSS Classes Total +maven.dashboard.aggregator.javancssclassestotal.goal = maven-javancss-plugin:report +maven.dashboard.aggregator.javancssclassestotal.description = Total number of JavaNCSS classes + +# JavaNCSS: total number of functions +maven.dashboard.aggregator.javancssfunctionstotal.script = ${maven.dashboard.aggregators.dir}/javancssfunctionstotal.jelly +maven.dashboard.aggregator.javancssfunctionstotal.artifact = ${maven.build.dir}/javancss-raw-report.xml +maven.dashboard.aggregator.javancssfunctionstotal.label = JavaNCSS Functions Total +maven.dashboard.aggregator.javancssfunctionstotal.goal = maven-javancss-plugin:report +maven.dashboard.aggregator.javancssfunctionstotal.description = Total number of JavaNCSS functions + +# JavaNCSS: total number of non-commented source statements +maven.dashboard.aggregator.javancssncsstotal.script = ${maven.dashboard.aggregators.dir}/javancssncsstotal.jelly +maven.dashboard.aggregator.javancssncsstotal.artifact = ${maven.build.dir}/javancss-raw-report.xml +maven.dashboard.aggregator.javancssncsstotal.label = JavaNCSS NCSS Total +maven.dashboard.aggregator.javancssncsstotal.goal = maven-javancss-plugin:report +maven.dashboard.aggregator.javancssncsstotal.description = Total number of JavaNCSS non-nommented source statements + +# JavaNCSS: total number of javadocs +maven.dashboard.aggregator.javancssjavadocstotal.script = ${maven.dashboard.aggregators.dir}/javancssjavadocstotal.jelly +maven.dashboard.aggregator.javancssjavadocstotal.artifact = ${maven.build.dir}/javancss-raw-report.xml +maven.dashboard.aggregator.javancssjavadocstotal.label = JavaNCSS JavaDocs Total +maven.dashboard.aggregator.javancssjavadocstotal.goal = maven-javancss-plugin:report +maven.dashboard.aggregator.javancssjavadocstotal.description = Total number of JavaNCSS JavaDocs diff --git a/dashboard/project.xml b/dashboard/project.xml index 7b1c845a..28e734b2 100644 --- a/dashboard/project.xml +++ b/dashboard/project.xml @@ -2,7 +2,7 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/dashboard/src/plugin-resources/aggregators/javancssfunctionstotal.jelly b/dashboard/src/plugin-resources/aggregators/javancssfunctionstotal.jelly new file mode 100644 index 00000000..93bd2554 --- /dev/null +++ b/dashboard/src/plugin-resources/aggregators/javancssfunctionstotal.jelly @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/dashboard/src/plugin-resources/aggregators/javancssjavadocstotal.jelly b/dashboard/src/plugin-resources/aggregators/javancssjavadocstotal.jelly new file mode 100644 index 00000000..48090a2b --- /dev/null +++ b/dashboard/src/plugin-resources/aggregators/javancssjavadocstotal.jelly @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/dashboard/src/plugin-resources/aggregators/javancssncsstotal.jelly b/dashboard/src/plugin-resources/aggregators/javancssncsstotal.jelly new file mode 100644 index 00000000..4cf08b3b --- /dev/null +++ b/dashboard/src/plugin-resources/aggregators/javancssncsstotal.jelly @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/dashboard/src/plugin-resources/aggregators/javancsspackagestotal.jelly b/dashboard/src/plugin-resources/aggregators/javancsspackagestotal.jelly new file mode 100644 index 00000000..9587810a --- /dev/null +++ b/dashboard/src/plugin-resources/aggregators/javancsspackagestotal.jelly @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/dashboard/src/plugin-test/maven.xml b/dashboard/src/plugin-test/maven.xml index f4fd91ad..2f39637e 100644 --- a/dashboard/src/plugin-test/maven.xml +++ b/dashboard/src/plugin-test/maven.xml @@ -55,8 +55,8 @@ - - + + diff --git a/dashboard/src/plugin-test/project.properties b/dashboard/src/plugin-test/project.properties index 165400c0..b086969b 100644 --- a/dashboard/src/plugin-test/project.properties +++ b/dashboard/src/plugin-test/project.properties @@ -40,7 +40,7 @@ maven.dashboard.runreactor = false # Define what dashboard aggregators will be run. This property is inherited # by the subprojects and thus they don't need to define it again. -maven.dashboard.aggregators = csall,cserrors,cswarnings,csfiles,clovertpc,cloverloc,cloverncloc,junittests,junitpassrate,junitfailures,juniterrors,simiantdl,pmdfiles,pmdviolations,fbfiles,fbviolations,jcoveragelipc,jcoverageloc,tasklistclass,tasklistmethod,tasklist,scmchangedfiles,scmchangedcommit +maven.dashboard.aggregators = csall,cserrors,cswarnings,csfiles,clovertpc,cloverloc,cloverncloc,junittests,junitpassrate,junitfailures,juniterrors,simiantdl,pmdfiles,pmdviolations,fbfiles,fbviolations,jcoveragelipc,jcoverageloc,tasklistclass,tasklistmethod,tasklist,scmchangedfiles,scmchangedcommit,javancssclassestotal,javancssfunctionstotal,javancssncsstotal,javancsspackagestotal,javancssjavadocstotal # Make sure that an XML report is generated whenever Clover is run. Also # inherited by the subprojects. diff --git a/dashboard/src/plugin-test/project.xml b/dashboard/src/plugin-test/project.xml index 2b118512..45080230 100644 --- a/dashboard/src/plugin-test/project.xml +++ b/dashboard/src/plugin-test/project.xml @@ -52,6 +52,13 @@ 0.8.4 plugin + + + maven-plugins + maven-javancss-plugin + 1.3 + plugin + src/java diff --git a/dashboard/src/plugin-test/subproject1/project.xml b/dashboard/src/plugin-test/subproject1/project.xml index 2e3dde81..f210c87e 100644 --- a/dashboard/src/plugin-test/subproject1/project.xml +++ b/dashboard/src/plugin-test/subproject1/project.xml @@ -41,5 +41,6 @@ maven-simian-plugin maven-jcoverage-plugin maven-tasklist-plugin + maven-javancss-plugin diff --git a/dashboard/xdocs/aggregators.xml b/dashboard/xdocs/aggregators.xml index 18d2d535..23f6e88f 100644 --- a/dashboard/xdocs/aggregators.xml +++ b/dashboard/xdocs/aggregators.xml @@ -2,7 +2,7 @@ + + + + Maven Dashboard Technical Background + Siegfried Goeschl + + +
+

+ The Dashboard plugin aggregates report data from multiple Maven + reports over multiple projects using the reactor. To + understand the work of the plugin better we have to look at + the following topics +

    +
  • How to create the report data aggregate for a single project?
  • +
  • How are the report data aggregate for the master project?
  • +
+

+
+
+

+ The aggregation runs over the existing Maven reports but how to + get them?! Either the Dashboard plugin is told to collect data + from existing reports (but you have to make sure that all reports + exists) or it runs the required plugins itself (which + hurts the build time) +

+

+ This behaviour is controlled by + + maven.dashboard.rungoals = [true|false] + +

+

+ If this property is set to "true" the Dashboard plugin looks at + the value of 'maven.dashboard.aggregators' to determine which + plugins to run automatically. When running those plugins the + configuration of the started plugins are modified dynamically, + e.g. for the Clover plugin the XML report generation is enabled. +

+
+
+

+ The aggregation for the master project is a two-step process + triggered by the reactor +

    +
  • Aggregate the report data for a single project
  • +
  • Aggregate the aggregated data over all projects
  • +
+

+ +

+ The result of the aggregation is a file 'dashboard-single.xml' + which could look like the following example collecting data of + JUnit, Clover, PMD, CVS and Checkstyle reports + + + + 100 % + 54% + 2844 + 0 + 5 + 27 + +]]> +

+
+ +

+ It is now time to collect the aggregated data for all + subprojects which results into a 'dashboard-data.xml'. + This file is then transformed to the Dashoard HTML + report. + + + + + 100 % + 54% + 2844 + 0 + 5 + 27 + + ... + + - + - + - + 7 + 2 + 121 + + +]]> +

+
+
+ +
\ No newline at end of file