Uploaded image for project: 'Ivy'
  1. Ivy
  2. IVY-1170

LatestVersionMatcher.needModuleDescriptor() does not honor custom statuses

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.1.0
    • Fix Version/s: 2.2.0-RC1
    • Component/s: Core
    • Labels:
      None

      Description

      While tracking down some unexpected behavior in our Ivy-based build system, I ran across what looks like a bug in LatestVersionMatcher.needModuleDescriptor(). In that method, it has a hard-coded check for "latest.integration" to determine when to not require a module descriptor and just grab the newest thing.

      public boolean needModuleDescriptor(ModuleRevisionId askedMrid, ModuleRevisionId foundMrid)

      { return !"latest.integration".equals(askedMrid.getRevision()); }

      In our case, we have redefined our status to be the maven-like names:

      <statuses default="snapshot">
      <status name="release" integration="false"/>
      <status name="snapshot" integration="true"/>
      </statuses>

      Where in our case "snapshot" replaces "integration". And this LatestVersionMatcher then fails to allow "latest.snapshot" to grab artifacts w/o module descriptors. (all those old jars that I haven't Ivy-fied yet

      I will work on developing a patch.

        Attachments

          Activity

            People

            • Assignee:
              maartenc Maarten Coene
              Reporter:
              cquinn Carl Quinn
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: