One minute tutorial analysing Spring-Batch using Maven

Prerequisites

Prepare analysis

Checkout Spring-Batch 1.1.3.RELEASE-A sources in a folder (named CO_FOLDER_PATH in the following documentation)

Batch-Spring SVN repository url
 
https://src.springframework.org/svn/spring-batch/tags/spring-batch-1.1.3.RELEASE-A

Use Maven

Download and copy in CO_FOLDER_PATH the custom assembly file for xdepend (see maven assembly plugin for more infos)

execute this command in a shell in CO_FOLDER_PATH
 
mvn install package assembly:directory  -Ddescriptor=xdepend-assembly-multimodules.xml 

This command will (for each sub-project) :

  • compile and test with coverage report
  • build and install jars
  • assemble a distribution arranged for xdepend using the previously downloaded assembly file
    The following directories should be created during this process :

Set up your project in XDepend

  • Launch XDepend
  • Choose Create: Project
  • In the New XDepend Project window fill in :
    • Name with a name for your analyse ex: spring_batch_tutorial_1.1.3_A
    • Location with the CO_FOLDER_PATH (you may use the browse button) ex: C:\xdepend\tutorial\spring-batch\XDependProject.xml
  • Click on the view folder button
  • The window is divided into four parts
    • (1) is where to put all folders that contains sources, application and tiers jars (that will be scanned to find dependencies and sources during analyses)
    • (2) shows the content of the folder selected in (1)
    • (3) is meant to list application jars that are will be analysed
    • (4) shows some usefull about missing tiers jars or packages
  • Drag and drop the application, tiers, and sources folders (located in CO_FOLDER_PATH\target\spring-batch-1.1.3.RELEASE-A-xdepend-assembly-multimodules.dir) into panel (1) (or use the browse button)
  • Select the .../application folder in panel (1), panel (2) shows you jars
  • Drag and drop all these jars into the application jars panel (3)

You may have noticed that if found, the JRE path is included

You may also drag and drop directly application jars in the (3) panel, their containing folders will be automatically added in panel (1) by XDepend

  • XDepend is now ready to analyze this project

Analyze

Run analysis

  • Clic on the run analysis button or push F5
  • Three things will happen now
    • A bottom panel shows you information about analysis execution
    • An html report will be generated and open using your default browser
    • A window will open asking if you want to load the project analysis, click yes

Some results

Some stats

  • ByteCode instructions 34 598
  • lines of code (LOC) 8 193
  • Jars 6
  • Packages 71
  • Types 509
  • Methods 2 966
  • Fields 1 210
  • Tier Jars used 28
  • Packages used 73
  • Types used 276
  • Methods used 651
  • Fields used 9

Jar dependencies graph

Packages dependencies graph (chapeau bas)

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.