Skip to content

Commit

Permalink
Skip classifier when checking for internal dep
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
honnix committed Aug 3, 2021
1 parent 76b6c3b commit 5eed79f
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 8 deletions.
19 changes: 11 additions & 8 deletions maven/lib/dependabot/maven/file_parser.rb
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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
Expand All @@ -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)
Expand Down
6 changes: 6 additions & 0 deletions maven/spec/fixtures/poms/multimodule_pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,12 @@
<artifactId>util</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>net.evenh.multimodule</groupId>
<artifactId>util</artifactId>
<version>${project.version}</version>
<classifier>sources</classifier>
</dependency>
</dependencies>
</dependencyManagement>

Expand Down

0 comments on commit 5eed79f

Please sign in to comment.