26.06.2002
DI Siegfried GÖSCHL siegfried.goeschl@it20one.at
The Stairway to Maven The Stairway to Maven The JAKARTA Project - - PowerPoint PPT Presentation
The Stairway to Maven The Stairway to Maven The JAKARTA Project Build The JAKARTA Project Build And Comprehension Tool And Comprehension Tool DI Siegfried GSCHL siegfried.goeschl@it20one.at 26.06.2002 The Problem How do you build and
26.06.2002
DI Siegfried GÖSCHL siegfried.goeschl@it20one.at
2 2 Stairway To Maven
– You can always find a student or two for the build
– Ever tried to run a UNIX makefile on Windows?!
– Tired of copy/pasting ANT scripts?! – Need something like ANT with more bells ans whistles?!
3 3 Stairway To Maven
4 4 Stairway To Maven
developed for buiding Turbine
engineering platform
automated project building, distribution and website creation
a XML Project Object Model (POM)
build a project and the external dependencies
implemented in terms of plugins
Jelly
from a remote repository and stored into a local repository
5 5 Stairway To Maven
6 6 Stairway To Maven
Project Object Model (POM) Project Object Model (POM)
7 7 Stairway To Maven
– Creating a WAR file – Creating a JAR file – Deploying the distribution automatically Build Plugins Build Plugins
No more thrills building your project!
8 8 Stairway To Maven
– Maven generated XDOC – Manually written documentation
Site Plugin Site Plugin
9 9 Stairway To Maven
Site Plugin Site Plugin
10 10 Stairway To Maven
Site Plugin Site Plugin
11 11 Stairway To Maven
– Sun coding convention – Turbine coding convention – Roll your own coding convention (if you really have to)
– Maximum line length of 100 instead of 80 characters – Patterns for constants and variables – Setting a differnt tab width CheckStyle Plugin CheckStyle Plugin
Just in case you have a coding convention ...
12 12 Stairway To Maven
CheckStyle Plugin CheckStyle Plugin
13 13 Stairway To Maven
– Changes and commits – Number of commits per developer – Number of changes for a file
Activity Plugin Activity Plugin
No more digging through CVS changelog
14 14 Stairway To Maven
Activity Plugin Activity Plugin
15 15 Stairway To Maven
Test Plugin Test Plugin
I hope you have some tests?!
16 16 Stairway To Maven
Test Plugin Test Plugin
17 17 Stairway To Maven
JDepend Plugin JDepend Plugin
18 18 Stairway To Maven
JDepend Plugin JDepend Plugin
19 19 Stairway To Maven
– CheckStyle plugin – PMD plugin Java Cross Reference Plugin Java Cross Reference Plugin
20 20 Stairway To Maven
Java Cross Reference Plugin Java Cross Reference Plugin
21 21 Stairway To Maven
JavaDoc Plugin JavaDoc Plugin
22 22 Stairway To Maven
23 23 Stairway To Maven
– – CLOVER CLOVER Code Coverage Analyzer – – PMD PMD Static Source Code Analyzer – – JavaNCSS JavaNCSS Java Source Code Metric Analyzer – – Word2HTML Word2HTML – – ... ...
24 24 Stairway To Maven
– Conditional Coverage – Statement Coverage – Method Coverage
Clover Test Coverage Plugin Clover Test Coverage Plugin
Another good reason for unit tests !!
25 25 Stairway To Maven
Clover Test Coverage Plugin Clover Test Coverage Plugin
26 26 Stairway To Maven
Clover Test Coverage Plugin Clover Test Coverage Plugin
27 27 Stairway To Maven
– Basic rules – Import rules – Unused code rules – Naming rules – Design rules
PMD Plugin PMD Plugin
28 28 Stairway To Maven
PMD Plugin PMD Plugin
29 29 Stairway To Maven
– Number of packages – Number of classes – Number of functions – Number of non-commented lines of code – Number of JavaDoc lines
JavaNCSS Plugin JavaNCSS Plugin
30 30 Stairway To Maven
JavaNCSS Plugin JavaNCSS Plugin
31 31 Stairway To Maven
– Microsoft‘s Visual Source Safe – Rational‘s ClearCase – Perforce
32 32 Stairway To Maven
33 33 Stairway To Maven
34 34 Stairway To Maven
http://quilt.sourceforge.net/ QUILT QUILT http://jakarta.apache.org/velocity/dvsl/index.html DVSL DVSL http://jakarta.apache.org/ant/index.html ANT ANT http://maven-plugins.sourceforge.net/ Maven Plug Maven Plug-
ins http://jakarta.apache.org/commons/sandbox/jelly/ Jelly Jelly http://www.clarkware.com/software/JDepend.html JDepend JDepend http://www.thecortex.net/clover/ Clover Clover http://jakarta.apache.org/turbine/index.html Turbine Turbine http://pmd.sourceforge.net/ PMD PMD http://www.kclee.com/clemens/java/javancss/ JavaNCSS JavaNCSS http://jakarta.apache.org/turbine/maven/ Maven Maven
35 35 Stairway To Maven
– Jelly is a XML scripting language similar to ANT – Allows conditionals and loops – Compatible to ANT scrips
– Directly by a script – As pregoal or postgoal within Maven
– Start external application – Fork a JVM to execute Java code – Execute a Java code in-process Plugin Development Plugin Development