Uploaded image for project: 'Dev - Nexus Repo'
  1. Dev - Nexus Repo
  2. NEXUS-16384

Maven SNAPSHOT timestamp versioned files are not direct children to the base snapshot version in tree or html view

    XMLWordPrintable

    Details

      Description

      As mentioned on nexus-users mailing list:

      For Maven SNAPSHOT repositories, tree and html views are rendered in a node tree such as this:

      ./
      └── com
          └── example
              └── project
                  ├── 1.0-SNAPSHOT
                  ├── 1.0
                  ├── 1.0-20180212.154940-1
                  ├── 1.0-20180212.154948-2
                  └── 2.0
      

      Nexus 2.x rendered Browse as Maven 2 repositories would normally be laid out like:

      ./
      └── com
          └── example
              └── project
                  ├── 1.0-SNAPSHOT
                  │   ├── maven-metadata.xml
                  │   ├── maven-metadata.xml.md5
                  │   ├── maven-metadata.xml.sha1
                  │   ├── project-1.0-20180212.154940-1.jar
                  │   ├── project-1.0-20180212.154940-1.jar.md5
                  │   ├── project-1.0-20180212.154940-1.jar.sha1
                  │   ├── project-1.0-20180212.154940-1.pom
                  │   ├── project-1.0-20180212.154940-1.pom.md5
                  │   ├── project-1.0-20180212.154940-1.pom.sha1
                  │   ├── project-1.0-20180212.154948-2.jar
                  │   ├── project-1.0-20180212.154948-2.jar.md5
                  │   ├── project-1.0-20180212.154948-2.jar.sha1
                  │   ├── project-1.0-20180212.154948-2.pom
                  │   ├── project-1.0-20180212.154948-2.pom.md5
                  │   └── project-1.0-20180212.154948-2.pom.sha1
                  ├── 1.0
                  └── 2.0
      

      The latter layout is expected because:

      • this is what Nexus 2.x did for Browse Storage and HTML views
      • the layout matches what the standard repository layout is for Maven 2
      • when one wants to focus on browsing released versions instead of snapshot versions, the current layout increases the node count at the version level to a point that makes browsing comprehension difficult
      • the top right filter box cannot help excluding SNAPSHOT version versions in the current impl, where in the former layout, one simply need not expand the base snapshot version node to exclude those - there will be cases where one is browsing by group - not by repository
      • the sort order in the current layout has timestamped versions sorted after release version of the same base which is not intuitive

       

      Notes

      • We will need synthetic (not par of the path) component nodes to keep the snapshot files together, since NXRM treats each timestamped snapshot as a separate component (and attaches functionality to that).
      • Remember ivy snapshots literally have '1.0-SNAPSHOT' as the version; it's likely there will be a mix of ivy and maven components in the same repo (if not actually the same GA-baseversion).

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                dsawa Dawid Sawa
                Reporter:
                plynch Peter Lynch
                Last Updated By:
                Mahendra Surani
                Team:
                NXRM - Tron
              • Votes:
                6 Vote for this issue
                Watchers:
                13 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Date of First Response: