From 740ff808f9e68dfd40d9ad79a1c86cd8873615da Mon Sep 17 00:00:00 2001 From: Julien HENRY Date: Mon, 12 Jan 2015 11:51:09 +0100 Subject: [PATCH] SONAR-5604 Fix project dependencies when sonar.branch is used --- .../batch/design/MavenDependenciesSensor.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/sonar-batch/src/main/java/org/sonar/batch/design/MavenDependenciesSensor.java b/sonar-batch/src/main/java/org/sonar/batch/design/MavenDependenciesSensor.java index 9b618b7b4e8..d0302398d87 100644 --- a/sonar-batch/src/main/java/org/sonar/batch/design/MavenDependenciesSensor.java +++ b/sonar-batch/src/main/java/org/sonar/batch/design/MavenDependenciesSensor.java @@ -172,7 +172,7 @@ public class MavenDependenciesSensor implements Sensor { Type collectionType = new TypeToken>() { }.getType(); deps = gson.fromJson(depsAsJson, collectionType); - saveDependencies(project, deps, context); + saveDependencies(project, project, deps, context); } catch (Exception e) { throw new IllegalStateException("Unable to deserialize dependency information: " + depsAsJson, e); } @@ -218,24 +218,24 @@ public class MavenDependenciesSensor implements Sensor { } } - private void saveDependencies(Resource from, Collection deps, SensorContext context) { + private void saveDependencies(Project project, Resource from, Collection deps, SensorContext context) { for (InputDependency inputDep : deps) { - Resource to = toResource(inputDep, context); + Resource to = toResource(project, inputDep, context); Dependency dependency = new Dependency(from, to); dependency.setUsage(inputDep.scope()); dependency.setWeight(1); context.saveDependency(dependency); if (!inputDep.dependencies().isEmpty()) { - saveDependencies(to, inputDep.dependencies(), context); + saveDependencies(project, to, inputDep.dependencies(), context); } } } - private Resource toResource(InputDependency dependency, SensorContext context) { - Project project = new Project(dependency.key()); - Resource result = context.getResource(project); + private Resource toResource(Project project, InputDependency dependency, SensorContext context) { + Project depProject = new Project(dependency.key(), project.getBranch(), dependency.key()); + Resource result = context.getResource(depProject); if (result == null || !((Project) result).getAnalysisVersion().equals(dependency.version())) { - Library lib = new Library(project.getKey(), dependency.version()); + Library lib = new Library(dependency.key(), dependency.version()); context.saveResource(lib); result = context.getResource(lib); } -- 2.39.5