Conversation
46f6cdb to
c0f25d3
Compare
gnodet
left a comment
There was a problem hiding this comment.
Inconsistent getGroupId() calls left unconverted
The migration is clean and mechanically consistent across 9 interfaces and all implementations. One minor gap: three getGroupId() calls in the factory request classes were missed while adjacent accessors on the same object were converted to noun-style.
This review was generated by an AI agent, Hermès, on behalf of @gnodet.
gnodet
left a comment
There was a problem hiding this comment.
Re-review after e8c3ae3: the three getGroupId() calls flagged in the previous review are now converted to groupId(). Migration is mechanically consistent across all 9 interfaces, all implementations, all tests, and all internal callers. No remaining unconverted calls found.
LGTM — no issues.
This review was generated by an AI agent, Hermès, on behalf of @gnodet.
gnodet-bot
left a comment
There was a problem hiding this comment.
Re-review after 9c98b45: migration of Node, Repository, RemoteRepository, LocalRepository to noun-style accessors is mechanically consistent — all 4 interfaces converted, all implementations (DefaultNode, WrapperNode, AbstractNode, DefaultLocalRepository, DefaultRemoteRepository, AbstractSession anonymous WorkspaceRepository, DefaultTransportProvider, DefaultModelBuilder) updated, all internal callers and tests updated. One Javadoc accuracy issue in the new commit.
This review was generated by an AI agent, Hermès, on behalf of @gnodet.
Add noun-style accessors (record-accessor pattern) to core API interfaces for immutable value types, consistent with modern JDK conventions and existing Maven 4 API types (XmlNode, PathType, Lifecycle.Phase, etc.). For each method, the noun-style accessor is now the primary abstract method. The existing getX() method is kept as a default delegating to it, annotated @deprecated(since = "4.1.0", forRemoval = true). Interfaces migrated: Artifact, ArtifactCoordinates, Dependency, DependencyCoordinates, DownloadedArtifact, Exclusion, Project, VersionConstraint, VersionRange. Fixes #13035
…nd LocalRepository
9c98b45 to
45f2a08
Compare
gnodet-bot
left a comment
There was a problem hiding this comment.
Re-review after 9c98b45: migration of Node, Repository, RemoteRepository, LocalRepository to noun-style accessors is mechanically consistent — all 4 interfaces converted, all implementations updated. One issue from the previous review is not addressed in this PR (claimed as fixed in #13153, but the Javadoc regression introduced by this PR remains).
This review was generated by an AI agent, Hermès, on behalf of @gnodet.
…LocalRepository
gnodet-bot
left a comment
There was a problem hiding this comment.
Re-review after f0701c6: the LocalRepository.getPath() annotation ordering nit is fixed (previous review addressed). One remaining inconsistency: the three @Nonnull deprecated wrappers in Node.java (getChildren, getRemoteRepositories, getRepository) still have @Nonnull before @Deprecated, opposite to the convention just enforced by this commit and to Artifact.java.
This review was generated by an AI agent, Hermès, on behalf of @gnodet.
Add noun-style accessors (record-accessor pattern) to core API interfaces for immutable value types, consistent with modern JDK conventions and existing Maven 4 API types (
XmlNode,PathType,Lifecycle.Phase, etc.).For each method, the noun-style accessor is now the primary abstract method. The existing
getX()method is kept as a default delegating to it, annotated@Deprecated(since = "4.1.0", forRemoval = true).Interfaces migrated:
Artifact,ArtifactCoordinates,Dependency,DependencyCoordinates,DownloadedArtifact,Exclusion,Project,VersionConstraint,VersionRange.24 files changed, 821 insertions, 212 deletions.
Fixes #13035