[ 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