Download presentation
Presentation is loading. Please wait.
Published byEdward Hunter Modified over 9 years ago
1
Copyright Vincent Massol 2006 – All rights reserved Panorama of Quality Features in Maven2 Vincent Massol, 11 July 2006 http://massol.net
2
Copyright Vincent Massol 2006 – All rights reserved Active Quality vs Passive Quality
3
Copyright Vincent Massol 2006 – All rights reserved Active quality = before the fact
4
Copyright Vincent Massol 2006 – All rights reserved Passive quality = after the fact
5
Copyright Vincent Massol 2006 – All rights reserved Both are required… … but moving to active is the direction to take
6
Copyright Vincent Massol 2006 – All rights reserved … and Maven can do both٭!
7
Copyright Vincent Massol 2006 – All rights reserved Quality plugins ● Surefire – JUnit and TestNG – Cargo and other container plugins ● PMD ● Checkstyle ● Verifier ● Clover ● Clirr ● Cobertura ● Jalopy ● JDepend ● JavaNCSS ● JDiff In MavenIn Mojo ● DBUnit ● Jardiff ● JCoverage ● FindBugs ● Simian In Mojo sandbox
8
Copyright Vincent Massol 2006 – All rights reserved Let’s review some plugins for… ● Tests (unit, integration and functional) ● Best practices (Checkstyle, PMD, etc) ● Test Percentage Coverage ● Binary compatibility
9
Copyright Vincent Massol 2006 – All rights reserved Common testing infrastructure for testing frameworks (JUnit, TestNG, etc)
10
Copyright Vincent Massol 2006 – All rights reserved New forking strategies: once, never, always
11
Copyright Vincent Massol 2006 – All rights reserved New integration test phase and Cargo plugin for automating J2EE application testing
12
Copyright Vincent Massol 2006 – All rights reserved Strategy for active checks ● Strategy – Fail the build upon test failure
13
Copyright Vincent Massol 2006 – All rights reserved Demo …
14
Copyright Vincent Massol 2006 – All rights reserved Let’s review some plugins for… ● Tests (unit, integration and functional) ● Best practices (Checkstyle, PMD, etc) ● Test Percentage Coverage ● Binary compatibility
15
Copyright Vincent Massol 2006 – All rights reserved Checkstyle, PMD, Findbugs can fail the build (active) or generate a report (passive)
16
Copyright Vincent Massol 2006 – All rights reserved Local Repo Build Tools Module Module to be checked build-tools.jarDepends on build-tools.jar Best practices concept
17
Copyright Vincent Massol 2006 – All rights reserved Strategy for active checks ● Strategy 1 – Turn on all agreed checks at beginning of project ● Strategy 2 – Activate some checks – Increase # of checks at each release
18
Copyright Vincent Massol 2006 – All rights reserved Demo …
19
Copyright Vincent Massol 2006 – All rights reserved Let’s review some plugins for… ● Tests (unit, integration and functional) ● Best practices (Checkstyle, PMD, etc) ● Test Percentage Coverage ● Binary compatibility
20
Copyright Vincent Massol 2006 – All rights reserved Clover, Cobertura plugins can fail the build (active) or generate reports (passive)
21
Copyright Vincent Massol 2006 – All rights reserved Module 1 Module 2 Module 3 Depends on Local Repository module1-clover.jar module2-clover.jar module3-clover.jar Build Dependency Clover plugin for Functional testing
22
Copyright Vincent Massol 2006 – All rights reserved … and aggregates reports at each parent POM level
23
Copyright Vincent Massol 2006 – All rights reserved Strategy for active checks ● Strategy – Check TPC at release – Set threshold to be this TPC – Fail the build when under this threshold – Repeat
24
Copyright Vincent Massol 2006 – All rights reserved Demo …
25
Copyright Vincent Massol 2006 – All rights reserved Let’s review some plugins for… ● Tests (unit, integration and functional) ● Best practices (Checkstyle, PMD, etc) ● Test Percentage Coverage ● Binary compatibility
26
Copyright Vincent Massol 2006 – All rights reserved Clirr performs comparisons between releases to detect binary compatibility changes
27
Copyright Vincent Massol 2006 – All rights reserved Can fail the build upon errror (active) or generate reports (passive)
28
Copyright Vincent Massol 2006 – All rights reserved Strategy for active checks ● Strategy – Fail the build upon violation – Add to exclude file when incompatibility wanted – Publish exclude file as part of release notes ● Warning: Currently missing fine- grained exclusions
29
Copyright Vincent Massol 2006 – All rights reserved Demo …
30
Copyright Vincent Massol 2006 – All rights reserved What’s missing? What’s the future?
31
Copyright Vincent Massol 2006 – All rights reserved Quality Dashboard
32
Copyright Vincent Massol 2006 – All rights reserved ● Commits per day, who’s doing commits? ● Who’s working on tests? ● Who’s answering mailing lists? ● Who’s applying patches? ● Who’s writing documentation, blogging about it, etc? => Ability to jauge activity on the projects Project Health Dashboard Project Activity Dashboard
33
Questions Me
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.