Uploaded image for project: 'Archiva (Retired)'
  1. Archiva (Retired)
  2. MRM-594

add some minimal hook in LegacyPathParser to allow exception management in artifact resolution

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.0-beta-4
    • 1.0.1
    • repository interface
    • None

    Description

      Some existing artifacts are not available to maven1. jaxen-1.0-FCS-full for example (use by some core maven1 plugins) can only be obtained by specifying a classifier "full".

      The maven1 request "/jaxen/jars/jaxen-1.0-FCS-full.jar" is converted as artifact [ jaxen : jaxen : 1.0-FCS-full ], that doesn't exist.

      The LegacyPathParser is allready very complex and works for many artifact, but cannot handle classifiers as they can be any string.

      A solution to help archiva managers should be to use an resolution exception list :

      if ( exceptions.contains( path ) )
      {
      String exception = exceptions.getProperty( path );
      String[] ref = exception.split( ":" );
      artifact.setGroupId( ref[0] );
      artifact.setArtifactId( ref[1] );
      artifact.setVersion( ref[2] );
      if ( ref.length > 3 )

      { artifact.setClassifier( ref[3] ); }

      return artifact;
      }

      based on a simple properties file :

      jaxen/jars/jaxen-1.0-FCS-full.jar = jaxen:jaxen:1.0-FCS:full

      This would allow admins to quickly fix such issues and not require archiva to find a way to make legacy path deterministic.

      Attachments

        1. MRM-594-with-web-ui.patch
          61 kB
          nicolas de loof
        2. MRM-594.patch
          32 kB
          nicolas de loof

        Issue Links

          Activity

            People

              ndeloof nicolas de loof
              ndeloof nicolas de loof
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: