[MNG-7039] [RFC] Reducing GAV verbosity by using URI syntax
- 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
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