Difference between revisions of "Continuous Integration: Dependency Walker Jenkins Pipeline"

From Gcube Wiki
Jump to: navigation, search
(Sample Report)
(Sample Report)
Line 15: Line 15:
 
== Sample Report ==
 
== Sample Report ==
  
[[File:Jenkins_DepsReport1.png|600px]]
+
<pre>
 +
Dependency Report for workspace-sharing-widget
  
[[File:Jenkins_DepsReport2.png|400px]]
+
|--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
 +
</pre>

Revision as of 02:39, 13 March 2020

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