[
https://issues.apache.org/jira/browse/MNG-8026?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17810861#comment-17810861
]
ASF GitHub Bot commented on MNG-8026:
-------------------------------------
gnodet commented on code in PR #1391:
URL: https://github.com/apache/maven/pull/1391#discussion_r1466288875
##########
api/maven-api-core/src/main/java/org/apache/maven/api/Artifact.java:
##########
@@ -105,6 +105,14 @@ default String key() {
*/
boolean isSnapshot();
+ /**
+ * The artifact properties.
+ *
+ * @return the artifact properties, never {@code null}
+ */
+ @Nonnull
+ ArtifactProperties getArtifactProperties();
Review Comment:
> Side note: the long time ago pattern of doing pom for deps is still
accurate today and bom created more mess than helped there - but unrelated to
the PR, just wanted to highlight this is still used for goods and not legacy.
>
> Ok but it means we need a dependency handler as we have an artifact
handler (think it is a bit complex). Ultimately, do we need dependency outside
the model (literally ) or can it not just be artifacts? I understand what you
mean but it seems like a lot of work for not much gain, no? Can't we merge it
somehow in new api?
There's no ArtifactHandler in the v4 api. It's called `Type` and it
represents the usage of an Artifact as a Dependency. There's nothing to handle
afaik on an Artifact: it's just a pointer to a file in a repository. How it's
used needs to be taken care of and that's done in the `Dependency` which is
associated to a `Type` and `Scope` and `DependencyProperties`. If we move
things to the Artifact or merge Artifact and Dependency, I think that's a
source of confusion.
> Maven should define from ground up scopes used with Resolver
> ------------------------------------------------------------
>
> Key: MNG-8026
> URL: https://issues.apache.org/jira/browse/MNG-8026
> Project: Maven
> Issue Type: Task
> Reporter: Tamas Cservenak
> Priority: Major
> Fix For: 4.0.0, 4.0.0-alpha-13
>
>
> See MRESOLVER-471, it is actually role of Maven (as a resolver consumer
> project) to define all these things:
> * supported scopes
> * transformations of scopes to build path scopes
> * fine tune conflict resolution and related things (in session)
--
This message was sent by Atlassian Jira
(v8.20.10#820010)