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



      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



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


          Issue Links



              dsawa Dawid Sawa
              plynch Peter Lynch
              Last Updated By:
              Joe Tom Joe Tom
              NXRM - Tron
              6 Vote for this issue
              12 Start watching this issue


                Date of First Response: