gradle / gradle/github-dependency-graph-gradle-plugin

Specify Maven classifiers / types as part of PURLs / metadata

Open
#42 8 comments 2 reactions 0 assignees View on GitHub
enhancement
Dominant language
Groovy
Stars
95
Forks
18
Avg merge
21h 23m
Merged PRs (30d)
4

Description

Maven has the concept of a classifier that "[distinguishes artifacts that were built from the same POM but differ in content](https://maven.apache.org/pom.html)". An example is the [struts2-assembly](https://mvnrepository.com/artifact/org.apache.struts/struts2-assembly) dependency which has "lib", "min-lib" etc. variants that also are ZIPs instead of JARs (see Maven's "type").

As contents between such artifact variants differ, e.g. different vulnerabilities may apply. Also, when trying to use the PURL to construct the exact download location of the artifact for further inspection, that is not possible in this case without knowing about the classifier and type.

PURL already [specifies](https://github.com/package-url/purl-spec/blob/master/PURL-TYPES.rst#maven) how to map Maven classifier and type to its qualifiers, so it would be nice to have them there. Additionally, maybe a package's `metadata` object in GitHub's [dependency submission API](https://docs.github.com/en/rest/dependency-graph/dependency-submission) could be used to also list these properties.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.