apache / apache/maven-dependency-plugin

[MDEP-561] Align base/unique default behavior between dependency/jar/assembly plugins

Open
#995 0 comments 0 reactions 0 assignees View on GitHub
enhancement priority:minor
Dominant language
Java
Stars
175
Forks
196
Avg merge
19h 30m
Merged PRs (30d)
5

Description

**[Marcin Domanski](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=domaru)** opened **[MDEP-561](https://issues.apache.org/jira/browse/MDEP-561?redirect=false)** and commented

Currently dependency plugin in `copy-dependencies` goal has an `useBaseVersion` option that defaults to true to force it to us unique versions for snapshots.

This default behavior is different to default behavior of jar/archiver plugin where you have `useUniqueVersions` option that defaults to true
Similarly Assembly plugin also by default uses unique versions that you can override by outputFileNameMapping element.

To sum up, it should be more user friendly for all ASF Maven plugins to share the same default settings regarding unique/base versioning. Otherwise ASF plugins would not produce self compatible output by default.

**Example:** If you use jar plugin to create jar manifest with classpath and dependency plugin to provide those classpath dependencies classpath dependency names will not match the ones copied by the dependency plugin unless you explicitly disable useBaseVersions

---

**Affects:** 3.0.0

Contributor guide

No contributing guide indexed for this repository

Research direction

Start at the dependency plugin's copy-dependencies goal and its useBaseVersion option, then compare the default version behavior described for the jar/archiver and Assembly plugins. The change is complete when dependency copies use the same unique-version default so their names match classpath entries generated by the jar plugin; add or update tests for that default behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
build-system
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.