...
For removals, they should be removed from maven-metadata.xml
directly in the local repository. This will not be overwritten until the remote file changes so is persistent long enough and avoids having to have "deleted" semantics in maven-metadata-local.xml
.
Handling Multiple Remote Repositories
Due to the fact that each remote repository will have a subset of the data, when the metadata is stored locally, the filename will include the repository key. Currently, the id
used to access the repository will serve as the repository key, but in the future a repository will be created by an admin program and metadata stored at its root which gives it a repository key, canonical URL and other such metadata.
For example, a directory in the local repository may look like:
maven-metadata-local.xml
maven-metadata-central.xml
maven-metadata-myrepo.xml
The id
will be that of the source repository, so is not changed for mirrors (as mirrors are considered to be identical). This does mean that files may be doubled up if your download id and upload id differ (a problem that will also be resolved by keys). This is not harmful.
When looking for metadata from a given repository, only the file for that repository (plugin -local merged in) will be consulted.