diff --git a/Jenkinsfile b/Jenkinsfile index c0a5f36..cbd0229 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -2,7 +2,7 @@ def projects2artifacts = [:] def artifacts2projects = [:] def modules2deps = [:] def alreadyInTheTree = [] -def inputProject = params.jenkins_project +def inputProject = params.jenkins_project.trim() def report = [:] report['project'] = inputProject @@ -52,7 +52,7 @@ pipeline { def downstreamdeps = [:] report['downstream_modules'] = [:] report['downstream_projects'] = [] - report['downstream_modules']['L1'] = [:] + for ( level in 1..50 ) report['downstream_modules']["L${level}"] = [:] // can't initialize with withDefault closure in jenkins projects2artifacts[inputProject].each { a -> if (a.split(':').length > 1) { //skip the parent (only groupId) report = analyzeDependency(modules2deps, alreadyInTheTree, artifacts2projects, report, a, 1) } @@ -76,7 +76,7 @@ def findDownstreamDependencies(modules2deps, artifact) { def downdeps = [] //println "Looking for users of ${artifact}" modules2deps.each { k, v -> if (v.contains("${artifact}")) downdeps << k } - downdeps + return downdeps } //build the report of the given dependency, go recursive on its dependencies @@ -98,16 +98,15 @@ def analyzeDependency(modules2deps, alreadyInTheTree, artifacts2projects, report } // then we look for the projects that build the downstream dependencies and finally we go recursive - if (downdeps) { + if (downdeps.size() > 0) { def nextDepth = ++depth - report['downstream_modules']["L${nextDepth}"] = [:] downdeps.each { d -> if (!skipTree) { report['downstream_modules'][level][artifact]['projects'] << artifacts2projects[d] report['downstream_projects'] << artifacts2projects[d] } // go recursive - analyzeDependency(modules2deps, alreadyInTheTree, artifacts2projects, report, d, nextDepth) + report = analyzeDependency(modules2deps, alreadyInTheTree, artifacts2projects, report, d, nextDepth) } } report