[MNG-8609] Dependency is not an Artifact
- Dominant language
- Java
- Stars
- 5.3k
- Forks
- 3.1k
- Avg merge
- 21h 11m
- Merged PRs (30d)
- 312
Description
**[Elliotte Rusty Harold](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=elharo)** opened **[MNG-8609](https://issues.apache.org/jira/browse/MNG-8609?redirect=false)** and commented
org.apache.maven.api.Dependency extends org.apache.maven.api.Artifact. This violates the OO principal that inheritance represents an is-A relation. A dependency is not an artifact. Arguably it has an artifact. However, artifacts are nodes in the graph while dependencies are the arcs. These aren't the same thing and mixing them up is a common source of confusion.
---
1 votes, 3 watchers
Contributor guide
Research direction
Start by locating the org.apache.maven.api.Dependency and Artifact API definitions and reviewing their usages in Maven. Trace how artifacts serve as graph nodes and dependencies as graph arcs, then determine the API relationship that preserves that distinction. Done means the inheritance conflict is resolved without leaving dependency and artifact concepts mixed together.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend-api-design, build-system
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100