gradle / gradle/github-dependency-graph-gradle-plugin
Specify Maven classifiers / types as part of PURLs / metadata
- 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.