Maven Repository Metadata Model
This is strictly the model for Maven Repository Metadata, so really just plain objects.
The metadata file name is:
maven-metadata.xml
in a remote repository,maven-metadata-<repo-id>.xml
in a local repository, for metadata from a repository withrepo-id
identifier.
Depending on what the directory represents ("groupId", "groupId/artifactId" or "groupId/artifactId/version"), the Maven Repository Metadata file contains 3 different sets of metadata:
- in a "groupId" directory: a "groupId" directory may contain Maven plugins artifacts, which are described in metadata's
plugins
element, - in a "groupId/artifactId" directory: metadata describes
groupId
,artifactId
andversioning
element that gives data about available versions (latest
,release
,versions
list andlastUpdated
), - in a "groupId/artifactId/version" snapshot artifact directory: metadata describes
groupId
,artifactId
,version
(base version, i.e. ending in-SNAPSHOT
) andversioning
element that gives data about snapshot (snapshot
,lastUpdated
andsnapshotVersions
list). Notice that a release artifact directory is not expected to provide metadata.
The following are generated from this model:
- Java sources with Reader and Writers for the Xpp3 XML parser, to read and write
maven-metadata(-*).xml
files, - a Descriptor Reference.
Notice: data about plugins in a directory representing a groupId is deprecated and will be removed in a future Maven version.