Ivy
  1. Ivy
  2. IVY-1170

LatestVersionMatcher.needModuleDescriptor() does not honor custom statuses

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major 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.

        Activity

          People

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

            Dates

            • Created:
              Updated:
              Resolved:

              Development