gnodet commented on code in PR #1391:
URL: https://github.com/apache/maven/pull/1391#discussion_r1466200346
##########
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:
> No, `Type` is a property of `Dependency`, no Artifact. What happens is
that is just an indirection of `Type` -> `properties`. If you think about,
EVERY Artifact (sans root) have type (as they enter scope as dependencies of
root).
That's wrong. Artifacts can be resolved without any Type / Dependency at all
using the `ArtifactResolver`:
https://github.com/apache/maven/blob/2788849c37ed4c425eb9532c5e20b17f85cbe396/api/maven-api-core/src/main/java/org/apache/maven/api/services/ArtifactResolver.java
That's the whole point. ArtifactCoordinate is used to obtain an Artifact.
A DependencyCoordinate is used to obtain a Dependency. `DependencyCoordinate`
contains `Type` and `Scope`.
If we need some properties on `Artifact`, that's fine, we can define
`ArtifactProperties` and `DependencyProperties` which extends
`ArtifactProperties`. The artifact properties should contain only properties
that are related to an artifact, not its usage (type, scope, etc...). But my
understanding is that there's no properties at the moment. The only one in the
resolver is the path of the file, which is obtained from the `ArtifactManager`.
> And yes, am looking at Resolver API as it is done well and works. IMO we
should really just pull a thin layer on top of it for start, that we can refine
later. But in general, this is how things should work, really.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]