[ 
http://jira.codehaus.org/browse/MRM-594?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

nicolas de loof updated MRM-594:
--------------------------------

    Attachment: MRM-594.patch

This patch doesn't fully solve the issue but creates the required basis for :

- converts the PathParsers to plexus components (not static utils classes), so 
that it can access other components in future (archivaConfiguration ?).
- add support for custom artifacts resolution in LegacyPathParser, based on a 
String representation  "groupId:artifactId:version:classifier:type" (classifier 
beeing optional)
- register a default exception to support jaxen-1.0-FCS-full (because it is 
used by maven 1 itself) as demonstration of the reslution exception
- testcase

this patch must be applied on archiva-repository-layer

> 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
>         Attachments: MRM-594.patch
>
>
> 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