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

NullPointerException when resolving module without revision in the pattern

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.0-RC1, 2.0-RC2
    • Fix Version/s: 2.0
    • Component/s: Core
    • Labels:
      None
    • Environment:

      Intel / Windows 2000 (Server) / Windows XP.

      Description

      When I switched to RC1 or RC2 I experianced the following error (which worked fine in previuos versions).

      When there is a dependancy which uses the rev="+" and there is no revision on the artifact in the repository the resolver throws a null pointer.

      [ivy:resolve] :::: WARNINGS
      [ivy:resolve] ::::::::::::::::::::::::::::::::::::::::::::::
      [ivy:resolve] :: UNRESOLVED DEPENDENCIES ::
      [ivy:resolve] ::::::::::::::::::::::::::::::::::::::::::::::
      [ivy:resolve] :: acme#SomeJar;+: java.lang.NullPointerException at org.apache.ivy.plugins.resolver.Bas
      icResolver.resolveAndCheckRevision(BasicResolver.java:457)
      [ivy:resolve] ::::::::::::::::::::::::::::::::::::::::::::::

      I have a filesystem resolver with the following pattern:
      <filesystem name="remote3rdParty" checkmodified="false" cache="systemCahce">
      <artifact pattern="\\someServer\IvyRepo\external[organisation][artifact]-[revision].[ext]"/>
      <artifact pattern="\\someServer\IvyRepo\external[organisation][artifact].[ext]"/>
      </filesystem>

      (Some artifacts in the 3rd party library don't have versions).

      The file path is:
      \\someServer\IvyRepo\external\acme\SomeJar.jar

      The dependancy is:
      <dependency name="SomeJar" org="acme" rev="+" conf="runtime-jar->default;"/>

      From a client point of view, the module doesn't care what version... just get the latest.... and if there is no version just get the current one.

      There are a number of work arounds...

      a) Ensure all JARs in the repository have a version ... Invent a version on ones which don't have any version. (Probably a good idea anyway).

      • If this is the case then thats fine. It should just be a documented feature

      b) Use the beta version of ivy.

      c) Change the client module to specify no revision rev=""

        Attachments

          Activity

            People

            • Assignee:
              maartenc Maarten Coene
              Reporter:
              cpaddon Craig paddon
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: