Quantcast

The "perfect" reporting tool?

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

The "perfect" reporting tool?

Lucas Persson-2
Hi

I am in search for a nice way to compile all reports for a Maven build.
I have for instance JUnit results, findbugs results and code coverage
results (using Emma).

The maven site plugin does not really aggregate info so that I can get
the total number of findbugs bugs so I started to look at the dashboard
plugin from codehaus, but that plugin does not seem to get developed any
more. And there is not way to support Emma in it either.

Sonar seems to be a good initiative but that seems to require a running
server which I can not fit into our build environment.
I am locked downed to just creating a static html site that some other
will publish for me.

Any tips in this area is highly welcomed!

Thanks
Lucas

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: The "perfect" reporting tool?

Thorsten Heit-3
Hi,

> I am in search for a nice way to compile all reports for a Maven build.
> I have for instance JUnit results, findbugs results and code coverage
> results (using Emma).
>
> The maven site plugin does not really aggregate info so that I can get
> the total number of findbugs bugs so I started to look at the dashboard
> plugin from codehaus, but that plugin does not seem to get developed any
> more. And there is not way to support Emma in it either.

What does your pom look like? And what version of Maven, site/findbugs/...
plugins do you use?

On my system I'm using a corporate parent pom containing a couple of
profiles that, when activated, add Findbugs, Checkstyle and/or PMD reports
to the generated website. Works pretty fine.


Regards

Thorsten
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: The "perfect" reporting tool?

Lucas Persson-2
Hi

I have as you a top "corporate" pom which defines all versions on the plugings.
Maven itsels is at 3.0.2, findbugs is on latest  2.4 , emma is the latest 1.0-alpha-3, the site plugin is actually only 3.0-beta-3. Dashboard is on 1.0.0-beta-1 which seems to be the latest.

But really I like to have an "aggregated" view of how many findbugs bugs we have instead of be forced to drill down on each subproject to see the status.

right now I am running "mvn install site dashboard:dashboard site:stage-deploy"
but not all reports gets included in the "site". For instance the findbugs reports.

But if a run "mvn install site dashboard:dashboard" and have the dashboard to a separate folder then it will show an aggregate view of findbugs bugs...

Maybe the issue is simply the old site plugin...

But, Thorsten, are you able to have an aggregate code coverage report using for instance Emma or JaCoCo using the site plugin?
(Emma and JaCoCo have nice Eclipse plugins and that's why we do not use Cobertura or Clover)

/Lucas
PS

My reports section (in the root pom) looks like this:
  <reporting>
    <outputDirectory>${targetDirectory}/site</outputDirectory>
    <plugins>

      <!-- Basic reports for all poms -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-project-info-reports-plugin</artifactId>
        <version>${oracle.sdp.maven-project-info-reports-plugin.version}</version>
        <inherited>true</inherited>
        <reportSets>
          <reportSet>
            <inherited>true</inherited>
            <reports>
              <report>index</report>
              <report>dependencies</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
      <!-- Second definition of plugin above, generate extra report for root POM _only_ -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-project-info-reports-plugin</artifactId>
        <version>${oracle.sdp.maven-project-info-reports-plugin.version}</version>
        <inherited>false</inherited>
        <reportSets>
          <reportSet>
            <id>onlyRootReport</id>
            <inherited>false</inherited>
            <reports>
              <report>dependency-convergence</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
      <!-- Basic site plugin from maven -->     
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-site-plugin</artifactId>
        <version>${oracle.sdp.maven-site-plugin.version}</version>
        <inherited>true</inherited>
        <configuration>
          <outputEncoding>utf-8</outputEncoding>
          <outputDirectory>${targetDirectory}/site</outputDirectory>
          <stagingSiteURL>${project.distributionManagement.site.url}</stagingSiteURL>
        </configuration>
      </plugin>
     
      <!-- Surefire plugin (JUnit runner) -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-report-plugin</artifactId>
        <version>${oracle.sdp.maven-surefire-report-plugin.version}</version>
        <inherited>true</inherited>
        <configuration>
          <showSuccess>true</showSuccess>
          <outputDirectory>${targetDirectory}/site</outputDirectory>
          <reportsDirectory>${targetDirectory}/surefire-reports</reportsDirectory>
        </configuration>
      </plugin>


      <!-- Taglist report -->
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>taglist-maven-plugin</artifactId>
        <version>${oracle.sdp.taglist-maven-plugin.version}</version>
        <inherited>true</inherited>
        <configuration>
          <aggregate>true</aggregate>
            <tags>
              <tag>TODO</tag>
              <tag>FIXME</tag>
              <tag>@todo</tag>
            </tags>
          </configuration>
      </plugin>
      <!-- Package dependency report -->
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>jdepend-maven-plugin</artifactId>
        <version>${oracle.sdp.jdepend-maven-plugin.version}</version>
        <inherited>true</inherited>
      </plugin>

      <!-- FindBugs (Java class file static analysis) -->
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>findbugs-maven-plugin</artifactId>
        <version>${oracle.sdp.findbugs-maven-plugin.version}</version>
        <inherited>true</inherited>
        <configuration>
          <fork>false</fork>
          <xmlOutput>true</xmlOutput>
          <effort>Max</effort>
          <excludeFilterFile>${adeViewRoot}/sdp/tools/maven/oracle_findbugs_exclusion_rules.xml</excludeFilterFile>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>dashboard-maven-plugin</artifactId>
        <version>${oracle.sdp.dashboard-maven-plugin.version}</version>
      </plugin>
    </plugins>
  </reporting>




On 03/07/2012 02:14 PM, Thorsten Heit wrote:
Hi,

I am in search for a nice way to compile all reports for a Maven build.
I have for instance JUnit results, findbugs results and code coverage
results (using Emma).

The maven site plugin does not really aggregate info so that I can get
the total number of findbugs bugs so I started to look at the dashboard
plugin from codehaus, but that plugin does not seem to get developed any
more. And there is not way to support Emma in it either.
What does your pom look like? And what version of Maven, site/findbugs/... 
plugins do you use?

On my system I'm using a corporate parent pom containing a couple of 
profiles that, when activated, add Findbugs, Checkstyle and/or PMD reports 
to the generated website. Works pretty fine.


Regards

Thorsten

--
Oracle
Lucas Persson | Principal Member of Technical Staff
Phone: <a href="tel:+4684773644">+4684773644 | | | Mobile: <a href="tel:+46730946656">+46730946656
Oracle Communications Platform
ORACLE Sweden | Söder Mälarstrand 29, 6 tr | 118 25 Stockholm


Oracle Svenska AB, Kronborgsgränd 17, S-164 28 KISTA, reg.no. 556254-6746
Green
          Oracle Oracle is committed to developing practices and products that help protect the environment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: The "perfect" reporting tool?

Jason van Zyl-5
In reply to this post by Lucas Persson-2
Sonar is the best form of build information integration.

http://www.sonarsource.org/

On Mar 7, 2012, at 8:02 AM, Lucas Persson wrote:

> Hi
>
> I am in search for a nice way to compile all reports for a Maven build.
> I have for instance JUnit results, findbugs results and code coverage
> results (using Emma).
>
> The maven site plugin does not really aggregate info so that I can get
> the total number of findbugs bugs so I started to look at the dashboard
> plugin from codehaus, but that plugin does not seem to get developed any
> more. And there is not way to support Emma in it either.
>
> Sonar seems to be a good initiative but that seems to require a running
> server which I can not fit into our build environment.
> I am locked downed to just creating a static html site that some other
> will publish for me.
>
> Any tips in this area is highly welcomed!
>
> Thanks
> Lucas
>

Thanks,

Jason

----------------------------------------------------------
Jason van Zyl
Founder,  Apache Maven
http://twitter.com/jvanzyl
---------------------------------------------------------





Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: The "perfect" reporting tool?

dennisl
In reply to this post by Lucas Persson-2
On 2012-03-07 17:14, Lucas Persson wrote:

> Hi
>
> I have as you a top "corporate" pom which defines all versions on the
> plugings.
> Maven itsels is at 3.0.2, findbugs is on latest  2.4 , emma is the
> latest 1.0-alpha-3, the site plugin is actually only 3.0-beta-3.
> Dashboard is on 1.0.0-beta-1 which seems to be the latest.
>
> But really I like to have an "aggregated" view of how many findbugs bugs
> we have instead of be forced to drill down on each subproject to see the
> status.
>
> right now I am running "mvn install site dashboard:dashboard
> site:stage-deploy"
> but not all reports gets included in the "site". For instance the
> findbugs reports.
>
> But if a run "mvn install site dashboard:dashboard" and have the
> dashboard to a separate folder then it will show an aggregate view of
> findbugs bugs...
>
> Maybe the issue is simply the old site plugin...
>
> But, Thorsten, are you able to have an aggregate code coverage report
> using for instance Emma or JaCoCo using the site plugin?
> (Emma and JaCoCo have nice Eclipse plugins and that's why we do not use
> Cobertura or Clover)

Whether a Maven report can be aggregated or not is not up to the Site
Plugin. Instead each plugin has to implement this for themselves.
Historically this has not been done consistently, but we have started to
straighten this up.

Go to the page for each Maven plugin that you use. Look for either a
special aggregate parameter (old way) or a special aggregate goal (new way).

The Javadoc Plugin has a page that talks about this topic:

http://maven.apache.org/plugins/maven-javadoc-plugin/examples/aggregate.html




>
> /Lucas
> PS
>
> My reports section (in the root pom) looks like this:
>   <reporting>
>     <outputDirectory>${targetDirectory}/site</outputDirectory>
>     <plugins>
>
>       <!-- Basic reports for all poms -->
>       <plugin>
>         <groupId>org.apache.maven.plugins</groupId>
>         <artifactId>maven-project-info-reports-plugin</artifactId>
>        
> <version>${oracle.sdp.maven-project-info-reports-plugin.version}</version>
>         <inherited>true</inherited>
>         <reportSets>
>           <reportSet>
>             <inherited>true</inherited>
>             <reports>
>               <report>index</report>
>               <report>dependencies</report>
>             </reports>
>           </reportSet>
>         </reportSets>
>       </plugin>
>       <!-- Second definition of plugin above, generate extra report for
> root POM _only_ -->
>       <plugin>
>         <groupId>org.apache.maven.plugins</groupId>
>         <artifactId>maven-project-info-reports-plugin</artifactId>
>        
> <version>${oracle.sdp.maven-project-info-reports-plugin.version}</version>
>         <inherited>false</inherited>
>         <reportSets>
>           <reportSet>
>             <id>onlyRootReport</id>
>             <inherited>false</inherited>
>             <reports>
>               <report>dependency-convergence</report>
>             </reports>
>           </reportSet>
>         </reportSets>
>       </plugin>
>       <!-- Basic site plugin from maven -->    
>       <plugin>
>         <groupId>org.apache.maven.plugins</groupId>
>         <artifactId>maven-site-plugin</artifactId>
>         <version>${oracle.sdp.maven-site-plugin.version}</version>
>         <inherited>true</inherited>
>         <configuration>
>           <outputEncoding>utf-8</outputEncoding>
>           <outputDirectory>${targetDirectory}/site</outputDirectory>
>          
> <stagingSiteURL>${project.distributionManagement.site.url}</stagingSiteURL>
>         </configuration>
>       </plugin>
>      
>       <!-- Surefire plugin (JUnit runner) -->
>       <plugin>
>         <groupId>org.apache.maven.plugins</groupId>
>         <artifactId>maven-surefire-report-plugin</artifactId>
>        
> <version>${oracle.sdp.maven-surefire-report-plugin.version}</version>
>         <inherited>true</inherited>
>         <configuration>
>           <showSuccess>true</showSuccess>
>           <outputDirectory>${targetDirectory}/site</outputDirectory>
>          
> <reportsDirectory>${targetDirectory}/surefire-reports</reportsDirectory>
>         </configuration>
>       </plugin>
>
>
>       <!-- Taglist report -->
>       <plugin>
>         <groupId>org.codehaus.mojo</groupId>
>         <artifactId>taglist-maven-plugin</artifactId>
>         <version>${oracle.sdp.taglist-maven-plugin.version}</version>
>         <inherited>true</inherited>
>         <configuration>
>           <aggregate>true</aggregate>
>             <tags>
>               <tag>TODO</tag>
>               <tag>FIXME</tag>
>               <tag>@todo</tag>
>             </tags>
>           </configuration>
>       </plugin>
>       <!-- Package dependency report -->
>       <plugin>
>         <groupId>org.codehaus.mojo</groupId>
>         <artifactId>jdepend-maven-plugin</artifactId>
>         <version>${oracle.sdp.jdepend-maven-plugin.version}</version>
>         <inherited>true</inherited>
>       </plugin>
>
>       <!-- FindBugs (Java class file static analysis) -->
>       <plugin>
>         <groupId>org.codehaus.mojo</groupId>
>         <artifactId>findbugs-maven-plugin</artifactId>
>         <version>${oracle.sdp.findbugs-maven-plugin.version}</version>
>         <inherited>true</inherited>
>         <configuration>
>           <fork>false</fork>
>           <xmlOutput>true</xmlOutput>
>           <effort>Max</effort>
>          
> <excludeFilterFile>${adeViewRoot}/sdp/tools/maven/oracle_findbugs_exclusion_rules.xml</excludeFilterFile>
>         </configuration>
>       </plugin>
>
>       <plugin>
>         <groupId>org.codehaus.mojo</groupId>
>         <artifactId>dashboard-maven-plugin</artifactId>
>         <version>${oracle.sdp.dashboard-maven-plugin.version}</version>
>       </plugin>
>     </plugins>
>   </reporting>
>
>
>
>
> On 03/07/2012 02:14 PM, Thorsten Heit wrote:
>> Hi,
>>
>>> I am in search for a nice way to compile all reports for a Maven build.
>>> I have for instance JUnit results, findbugs results and code coverage
>>> results (using Emma).
>>>
>>> The maven site plugin does not really aggregate info so that I can get
>>> the total number of findbugs bugs so I started to look at the dashboard
>>> plugin from codehaus, but that plugin does not seem to get developed any
>>> more. And there is not way to support Emma in it either.
>> What does your pom look like? And what version of Maven, site/findbugs/...
>> plugins do you use?
>>
>> On my system I'm using a corporate parent pom containing a couple of
>> profiles that, when activated, add Findbugs, Checkstyle and/or PMD reports
>> to the generated website. Works pretty fine.
>>
>>
>> Regards
>>
>> Thorsten
>
> --
> Oracle <http://www.oracle.com>
> Lucas Persson | Principal Member of Technical Staff
> Phone: +4684773644 <tel:+4684773644> | | | Mobile: +46730946656
> <tel:+46730946656>
> Oracle Communications Platform
> ORACLE Sweden | Söder Mälarstrand 29, 6 tr | 118 25 Stockholm
>
> Oracle Svenska AB, Kronborgsgränd 17, S-164 28 KISTA, reg.no. 556254-6746
> Green Oracle <http://www.oracle.com/commitment> Oracle is committed to
> developing practices and products that help protect the environment


--
Dennis Lundberg

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: The "perfect" reporting tool?

Robert Scholte-3
In reply to this post by Lucas Persson-2
Hi,

As you already mentioned: although Sonar gives you the best reports, it  
requires a running Sonar application.
I once needed the static pages and the dashboard-maven-plugin seemed to be  
the best solution.
I wasn't happy with the implementation and the number of open issues.
A long time ago I started rewriting the plugin[1]. I came pretty far. It  
became pluggable (you can decide which reports you want, add your own  
reports), but I had some generics-issues I wasn't able to solve.
This plugin is still on my todo list, but there are much more important  
things I like to pick up first.
I'd be glad if you want to take the challenge to help on this plugin.

-Robert

[1]  
http://svn.codehaus.org/mojo/branches/rfscholte/dashboard-maven-plugin/ 
(not sure of its state, but that's why it is a private branch)

Op Wed, 07 Mar 2012 14:02:25 +0100 schreef Lucas Persson  
<[hidden email]>:

> Hi
>
> I am in search for a nice way to compile all reports for a Maven build.
> I have for instance JUnit results, findbugs results and code coverage
> results (using Emma).
>
> The maven site plugin does not really aggregate info so that I can get
> the total number of findbugs bugs so I started to look at the dashboard
> plugin from codehaus, but that plugin does not seem to get developed any
> more. And there is not way to support Emma in it either.
>
> Sonar seems to be a good initiative but that seems to require a running
> server which I can not fit into our build environment.
> I am locked downed to just creating a static html site that some other
> will publish for me.
>
> Any tips in this area is highly welcomed!
>
> Thanks
> Lucas

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Loading...