Skip to content

Tools to enable analysis of maven dependencies across multi-repo maven project(s).

License

Notifications You must be signed in to change notification settings

jhrcek/kiegroup-dependencies

Repository files navigation

Kiegroup dependencies

Tools to enable analysis of maven dependencies across multi-repo maven project(s).

TODOs

  • Collect results of mvn-all.sh dependency:tree -DoutputType=tgf -DoutputFile=deps.tgf to a single file
  • Parse and validate resulting TGF reports (split groupId:artifactId:packaging[:qualifier]:version[:scope])
  • Come up with a convenient representation of TFG data for easy consumption by front end
  • For each artifact calculate number of direct/transitive dependencies
  • For each artifact calculate number of direct/transitive reverse dependencies
  • Show dependency tree of each artifact
  • Show reverse dependency tree of each artifact
  • Distinguish between internal and 3rd party dependencies (based on groupId)
  • Add breadcrumb showing "Home >> groupId >> artifactId >> version" for easier navigation
  • Show scope of each dependency in the dependency trees
  • Dependency convergence report (groupId:artifactId with multiple different versions)
  • Visualize module structure for each repo
  • Make dependency tree view have configurable depth
  • Include results of dependency:analyze-report
  • Add link from each kiegroup artifact to it's associated github repository

How to use it

  1. clone all kiegroup repos
mkdir kiegroup
cd kiegroup
git clone git@github.com:kiegroup/droolsjbpm-build-bootstrap.git
./droolsjbpm-build-bootstrap/script/git-clone-others.sh
  1. Run maven to produce dependency tree reports. This will produce several hundreds maven module dependency reports (1 per maven module).
./droolsjbpm-build-bootstrap/script/mvn-all.sh \
dependency:tree -DoutputType=tgf  -DoutputFile=deps.tgf  -DfullProfile
  1. This tool uses Haskell script to collect and deduplicate all individual dependency trees into one huge dependency graph. You need to install stack to run it.

  2. Build the tool

make back
  1. Run the tool to collect all dependency reports into one file. This will produce dependency-graph.json containing all dependency data.
make report
  1. Build the website that enables you to browse the data in this model
make front
  1. HTTP serve the dist directory and open file index.html in your browser
make run

About

Tools to enable analysis of maven dependencies across multi-repo maven project(s).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published