From 5eed79f398934dc158ccecd467285d3eaf2210c2 Mon Sep 17 00:00:00 2001 From: Hongxin Liang Date: Tue, 3 Aug 2021 22:38:17 +0200 Subject: [PATCH] Skip classifier when checking for internal dep When building up the list of internal dependencies, it is not possible to know the classifiers, so we skip appending classifier to a dependency name when checking whether it is an internal dependency or not. --- maven/lib/dependabot/maven/file_parser.rb | 19 +++++++++++-------- maven/spec/fixtures/poms/multimodule_pom.xml | 6 ++++++ 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/maven/lib/dependabot/maven/file_parser.rb b/maven/lib/dependabot/maven/file_parser.rb index 7b9e887209..722bd69f8f 100644 --- a/maven/lib/dependabot/maven/file_parser.rb +++ b/maven/lib/dependabot/maven/file_parser.rb @@ -88,6 +88,9 @@ def dependency_from_dependency_node(pom, dependency_node) return unless (name = dependency_name(dependency_node, pom)) return if internal_dependency_names.include?(name) + classifier = dependency_classifier(dependency_node, pom) + name = classifier ? "#{name}:#{classifier}" : name + build_dependency(pom, dependency_node, name) end @@ -125,7 +128,7 @@ def dependency_name(dependency_node, pom) return unless dependency_node.at_xpath("./groupId") return unless dependency_node.at_xpath("./artifactId") - name = [ + [ evaluated_value( dependency_node.at_xpath("./groupId").content.strip, pom @@ -135,15 +138,15 @@ def dependency_name(dependency_node, pom) pom ) ].join(":") + end - if dependency_node.at_xpath("./classifier") - name += ":#{evaluated_value( - dependency_node.at_xpath('./classifier').content.strip, - pom - )}" - end + def dependency_classifier(dependency_node, pom) + return unless dependency_node.at_xpath("./classifier") - name + evaluated_value( + dependency_node.at_xpath("./classifier").content.strip, + pom + ) end def plugin_name(dependency_node, pom) diff --git a/maven/spec/fixtures/poms/multimodule_pom.xml b/maven/spec/fixtures/poms/multimodule_pom.xml index 9134ac1934..b3ca2294cd 100644 --- a/maven/spec/fixtures/poms/multimodule_pom.xml +++ b/maven/spec/fixtures/poms/multimodule_pom.xml @@ -49,6 +49,12 @@ util ${project.version} + + net.evenh.multimodule + util + ${project.version} + sources +