apache / apache/maven

[MNG-8609] Dependency is not an Artifact

Open
#10,626 2 comments 0 reactions 0 assignees View on GitHub
bug priority:blocker
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.