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
+