To add to scope for Maven 4, IMO:
*1. <dependency> tag could have an optional <repo-list> arg:*
<dependency>
<repo-list>my-team,mycorp</repo-list>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.4.10</version>
</dependency>
In the above, central is not checked at all. my-team and my-corp are
defined elsewhere.
*2. GAV as a first class thing (optional):*
<dependency>
<gav>com.thoughtworks.xstream:xstream:1.4.10</gav>
</dependency>
or
<dependency gav="com.thoughtworks.xstream:xstream:1.4.10"/>
For the first time ever people could do simple ack/ag/grep thru source
bases looking for things.
*3. More pluggable dependency resolver:*
I might want alternate places to source JARs from that are *not* HTTP
mounted system that match the Maven2 directory structure.
Like here - https://github.com/paul-hammant/xstream-jar/releases (and
associated blog entry -
https://paulhammant.com/2017/05/13/maven-central-as-multiple-git-repos/)
In particular I need to rework the jar as it is pulled into the local
~/.m2/repository cache - there's a root directory to remove.
- Paul