[MNG-7062] Add first class support for deployment repositories to settings.xml
- Dominant language
- Java
- Stars
- 5.3k
- Forks
- 3.1k
- Avg merge
- 21h 11m
- Merged PRs (30d)
- 312
Description
**[Phil Clay](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=philsttr)** opened **[MNG-7062](https://issues.apache.org/jira/browse/MNG-7062?redirect=false)** and commented
The maven settings.xml file currently has first-class support for controlling artifact _downloads_ via the [mirrors section](https://maven.apache.org/settings.html#Mirrors). It would be intuitive and logical if the the settings.xml file also had first-class support for controlling artifact _uploads_.
Being able to control _both_ artifact uploads and downloads from the settings.xml file allows for easier centralized management in organizations using a repository manager, in which all downloads and uploads should go through the repository manager.
The current approach of being able to point artifact downloads to a repository manager in settings.xml, but not being able to point uploads to the same repository manager in settings.xml is clunky and not intuitive.
Here are several alternatives that can be used today, but none are as easy/intuitive as first class support in the settings.xml would be.
1. Define downloads in settings.xml file, but define uploads via `distributionManagement` in poms.
2. Define `alt*DeploymentRepository` properties in settings.xml (as mentioned in [PR #23](https://github.com/apache/maven-site/pull/223)). Do not use `distributionManagement` in poms at all.
3. Define custom release/snapshot repo properties in settings.xml, and define a `distributionManagement` section in poms that references those properties
---
**Affects:** 3.6.3
Contributor guide
Research direction
Start by reading Maven's settings.xml documentation, especially the mirrors section, and compare it with the deployment alternatives described in the issue. Determine the design needed for first-class upload repository configuration and how it should coexist with distributionManagement and alt*DeploymentRepository properties. Done means settings.xml can centrally control artifact uploads as well as downloads.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100