apache / apache/maven

[MNG-7039] [RFC] Reducing GAV verbosity by using URI syntax

Open
#7,998 3 comments 0 reactions 0 assignees View on GitHub
enhancement priority:major
Dominant language
Java
Stars
5.3k
Forks
3.1k
Avg merge
20h 42m
Merged PRs (30d)
297

Description

**[Matt Pavlovich](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=mattrpav)** opened **[MNG-7039](https://issues.apache.org/jira/browse/MNG-7039?redirect=false)** and commented

Provide the ability to reference maven artifacts using a uri-like syntax reduces verbosity.

Reasoning:
1. The XML elements for groupId, artifactId, version, classifier and type are never extended
2. Reducing lines of text improves maintenance of pom's
3. URI is a first-class citizen in XML schema and can be strongly typed, and regex'd.
4. Maven GAV(CT) as a uri makes sense, since they are both coordinates of sorts.
5. Addition of an attribute in the \ element allows for backwards compatibility

Challenges:
1. Requires the uri to be parsed for variable substitution (esp version)

Option 1-- classifier and type as query params (probably more useful):

```
Given:

com.company
foo-api
1.0.1-SNAPSHOT
default
jar
compile

Maven 4.x feature:

w/ properties:

-or urn style-

```

Option 2-- classifier and type as path params:

```

```

---
No further details from [MNG-7039](https://issues.apache.org/jira/browse/MNG-7039?redirect=false)

Contributor guide

Open the contributing guide

Research direction

Start by reading the RFC in this issue and the linked MNG-7039 ticket, including the alternatives for URI and URN syntax. The issue does not name files, tests, or entry points; completion would require an agreed syntax, variable-substitution behavior, and a backward-compatible Maven implementation.

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
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.