Continuous Integration: Dependency Walker Jenkins Pipeline

From Gcube Wiki
Revision as of 02:39, 13 March 2020 by Manuele.simi (Talk | contribs) (Sample Report)

Jump to: navigation, search

The Dependency Walker pipeline allows to navigate the dependencies among projects in Jenkins.

Given the name of a Jenkins project (P):

  • navigate the maven modules built by P
  • recursively analyze the module's dependencies and their Jenkins projects
  • generate the list of projects that have modules depending on each maven module in P
  • print a formatted report of the information extracted from the analysis.

Interface

Jenkins DepsWalkerInterface.png

Report

Sample Report

Dependency Report for workspace-sharing-widget

|--Project Maven Modules
	|--Module: org.gcube.portlets.widgets:workspace-sharing-widget
		|--Deepest Dependency Level: L1
		|--Used by (Maven Modules)
			|--org.gcube.portlets.user:tabular-data-share-widget
			|--org.gcube.portlets.user:workspace-tree-widget
		|--Referred by (Jenkins Projects)
			|--workspace-sharing-widget
			|--tabular-data-share-widget
			|--workspace-tree-widget
	|--Module: org.gcube.portlets.user:tabular-data-share-widget
		|--Deepest Dependency Level: L2
		|--Used by (Maven Modules)
			|--org.gcube.portlets.user:tabular-data-manager
			|--org.gcube.portlets.user:tabular-data-rule-widget
		|--Referred by (Jenkins Projects)
			|--tabular-data-share-widget
			|--tabular-data-manager
			|--tabular-data-rule-widget
	|--Module: org.gcube.portlets.user:workspace-tree-widget
		|--Deepest Dependency Level: L2
		|--Used by (Maven Modules)
			|--org.gcube.portlets.user:workspace
		|--Referred by (Jenkins Projects)
			|--workspace-tree-widget
			|--workspace
	|--Module: org.gcube.portlets.user:tabular-data-manager
		|--Deepest Dependency Level: L3
		|--Used by (Maven Modules)
		|--Referred by (Jenkins Projects)
			|--tabular-data-manager
	|--Module: org.gcube.portlets.user:tabular-data-rule-widget
		|--Deepest Dependency Level: L3
		|--Used by (Maven Modules)
			|--org.gcube.portlets.user:tabular-data-manager
		|--Referred by (Jenkins Projects)
			|--tabular-data-rule-widget
			|--tabular-data-manager
	|--Module: org.gcube.portlets.user:workspace
		|--Deepest Dependency Level: L3
		|--Used by (Maven Modules)
		|--Referred by (Jenkins Projects)
			|--workspace


|--All Downstream Projects
	|--tabular-data-manager
	|--tabular-data-rule-widget
	|--tabular-data-share-widget
	|--workspace
	|--workspace-sharing-widget
	|--workspace-tree-widget