You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Tamas Cservenak (Jira)" <ji...@apache.org> on 2024/04/25 10:11:00 UTC

[jira] [Closed] (MNG-8106) Maven Metadata corruption if repository directory role overlaps

     [ https://issues.apache.org/jira/browse/MNG-8106?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tamas Cservenak closed MNG-8106.
--------------------------------
    Resolution: Fixed

> 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)