Ivy
  1. Ivy
  2. IVY-435

LatestRevisionStrategy.sort() doesn't sort as specified

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.0.0-alpha-1
    • Component/s: Core
    • Labels:
      None

      Description

      According to the LatestStrategy.sort() javadoc, the sort method should sort the artifacts from latest to oldest.
      However, the LatestRevisionStrategy.sort() method does the opposite!

      The following junit test shows this (add to LatestRevisionStrategyTest.java):

          public void testSort() {
              ArtifactInfo[] revs = toMockAI(new String[] {
                      "0.2a", 
                      "0.2_b", 
                      "0.2rc1", 
                      "0.2-final", 
                      "1.0-dev1", 
                      "1.0-dev2", 
                      "1.0-alpha1", 
                      "1.0-alpha2", 
                      "1.0-beta1", 
                      "1.0-beta2", 
                      "1.0-gamma",
                      "1.0-rc1",
                      "1.0-rc2",
                      "1.0", 
                      "1.0.1", 
                      "2.0" 
                      });
              
              List shuffled = new ArrayList(Arrays.asList(revs)); 
              ArtifactInfo[] shuffledRevs = (ArtifactInfo[]) shuffled.toArray(new ArtifactInfo[revs.length]);
              
              LatestRevisionStrategy latestRevisionStrategy = new LatestRevisionStrategy();
              List sorted = latestRevisionStrategy.sort(shuffledRevs);
          	assertEquals(Arrays.asList(revs), sorted);
          }
      

      The question is: should we change the javadoc or the LatestRevisionStrategy.sort method?

        Activity

          People

          • Assignee:
            Maarten Coene
            Reporter:
            Maarten Coene
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development