[ https://issues.apache.org/jira/browse/MNG-8106?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17840582#comment-17840582 ]
ASF GitHub Bot commented on MNG-8106: ------------------------------------- slawekjaranowski commented on code in PR #1481: URL: https://github.com/apache/maven/pull/1481#discussion_r1578544215 ########## maven-api-impl/src/main/java/org/apache/maven/internal/impl/resolver/LocalSnapshotMetadata.java: ########## @@ -113,6 +113,11 @@ protected void merge(Metadata recessive) { metadata = metadata.withVersioning(metadata.getVersioning().withSnapshotVersions(versions.values())); + // just carry-on as-is + if (recessive.getPlugins() != null && !recessive.getPlugins().isEmpty()) { + metadata = metadata.withPlugins(new ArrayList<>(recessive.getPlugins())); Review Comment: should we also check if `metadata` already contains a `plugins`? > Maven Metadata corruption if repository directory role overlaps > --------------------------------------------------------------- > > Key: MNG-8106 > URL: https://issues.apache.org/jira/browse/MNG-8106 > Project: Maven > Issue Type: Bug > Components: Artifacts and Repositories > Affects Versions: 3.9.0, 3.9.1, 3.9.2, 3.9.3, 3.9.4, 3.9.5, 3.9.6, > 4.0.0-alpha-2, 4.0.0-alpha-3, 4.0.0-alpha-4, 4.0.0-alpha-5, 4.0.0-alpha-7, > 4.0.0-alpha-8, 4.0.0-alpha-9, 4.0.0-alpha-10, 4.0.0-alpha-12, 4.0.0-alpha-13 > Reporter: Tamas Cservenak > Assignee: Tamas Cservenak > Priority: Major > Fix For: 3.9.7, 4.0.0-beta-1 > > > In case certain directory role in repository is manifold (which IS against > best practices), data loss occurs. Metadata will contain this or that, but > not both data. > Example: consider project producing these artifacts > * org.foo:bar:1.0 > * org.foo.bar:baz:1.0 > In this case, the local (and remote) repository path {{org/foo/bar}} that is > a directory, will overlap in a way, it is G level for one artifact, and A > level for another. Now, if org.foo.bar:baz is a Maven Plugin, the G level > should contain plugin related (G level) metadata. At the same time, due > org.foo:bar this directory should contain A level metadata (list of > versions). Affected maven versions will simply drop "the other" metadata (so > if last deployed using this directory as G, the A data will be missing, and > other way around). > Have to note that doing this kind of naming is against "best practices", but > still, can occur, for example in case of some refactoring/renaming of long > running project modules. -- This message was sent by Atlassian Jira (v8.20.10#820010)