Current section

Files

Jump to
purl priv spec types maven-definition.json
Raw

priv/spec/types/maven-definition.json

{
"$schema": "https://packageurl.org/schemas/purl-type-definition.schema-1.0.json",
"$id": "https://packageurl.org/types/maven-definition.json",
"type": "maven",
"type_name": "Maven",
"description": "PURL type for Maven JARs and related artifacts.",
"repository": {
"use_repository": true,
"default_repository_url": "https://repo.maven.apache.org/maven2/",
"note": "The Maven Central repository is the public repository for Apache Maven packages. This repository is also mirrored at https://repo1.maven.org/maven2/. Use the standard repository_url qualifier to point to another repository"
},
"namespace_definition": {
"requirement": "required",
"case_sensitive": true,
"native_name": "groupId",
"note": "The group id is the namespace."
},
"name_definition": {
"requirement": "required",
"case_sensitive": true,
"native_name": "artifactId",
"note": "The artifact id is the name."
},
"version_definition": {
"requirement": "optional",
"case_sensitive": true,
"native_name": "version"
},
"qualifiers_definition": [
{
"key": "classifier",
"requirement": "optional",
"description": "The maven classifier as defined in the POM documentation.",
"native_name": "classifier"
},
{
"key": "type",
"requirement": "optional",
"description": "The maven type as defined in the POM documentation. Note that Maven uses a concept / coordinate called packaging which does not map directly 1:1 to a file extension. In this use case, we need to construct a link to one of many possible artifacts. Maven itself uses type in a dependency declaration when needed to disambiguate between them.",
"native_name": "type",
"default_value": "jar"
}
],
"examples": [
"pkg:maven/org.apache.xmlgraphics/batik-anim@1.9.1",
"pkg:maven/org.apache.xmlgraphics/batik-anim@1.9.1?type=pom",
"pkg:maven/org.apache.xmlgraphics/batik-anim@1.9.1?classifier=sources",
"pkg:maven/org.apache.xmlgraphics/batik-anim@1.9.1?type=zip&classifier=dist",
"pkg:maven/net.sf.jacob-projec/jacob@1.14.3?classifier=x86&type=dll",
"pkg:maven/net.sf.jacob-projec/jacob@1.14.3?classifier=x64&type=dll",
"pkg:maven/groovy/groovy@1.0?repository_url=https://maven.google.com"
]
}