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