apache / apache/maven

[MNG-7062] Add first class support for deployment repositories to settings.xml

Open
#7,976 5 comments 0 reactions 0 assignees View on GitHub
enhancement priority:minor
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.