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

LatestVersionMatcher.needModuleDescriptor() does not honor custom statuses

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.1.0
    • 2.2.0-RC1
    • Core
    • 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

        1. ivy-1170.patch
          6 kB
          Carl Quinn

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved: