You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "nicolas de loof (JIRA)" <ji...@codehaus.org> on 2007/11/15 12:09:25 UTC

[jira] Updated: (MRM-594) add some minimal hook in LegacyPathParser to allow exception management in artifact resolution

     [ 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