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: issues-unsubscr...@maven.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org