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

                 Key: MRM-594
                 URL: http://jira.codehaus.org/browse/MRM-594
             Project: Archiva
          Issue Type: Improvement
          Components: repository interface
    Affects Versions: 1.0-beta-4
            Reporter: nicolas de loof


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.


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to