[
http://jira.codehaus.org/browse/MRM-703?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Brett Porter closed MRM-703.
----------------------------
Assignee: Brett Porter
Resolution: Fixed
Fix Version/s: 1.0.2
added a simple unit test and applied - thanks!
> Artifacts with extensions longer than fours characters breaks repository
> scanning.
> ----------------------------------------------------------------------------------
>
> Key: MRM-703
> URL: http://jira.codehaus.org/browse/MRM-703
> Project: Archiva
> Issue Type: Bug
> Components: repository scanning
> Affects Versions: 1.0.1
> Environment: linux (RHEL5), standalone archiva
> Reporter: Jim Jackson
> Assignee: Brett Porter
> Priority: Minor
> Fix For: 1.0.2
>
> Attachments: archiva-artifact-extension.patch
>
>
> We store Mac OS X jnilib artifacts in our unmanaged maven repository. During
> our transition to a standalone archiva 1.0.1 instance running on linux
> (RHEL5), I was able to deploy our jnilib artifacts, but I was not able to
> download them as a dependency in a different project. I received the
> dependency not found in any repository error. When running the repository
> scan, the log file showed this:
> 3076623 [pool-2-thread-1] ERROR
> org.apache.maven.archiva.repository.scanner.RepositoryScanner:default -
> Consumer [metadata-updater] had an error when processing file
> [/var/www/html/managed-maven2/fobs4jmf/macosx/i386/libfobs4jmf/0.4.1.4-SNAPSHOT/libfobs4jmf-0.4.1.4-20080217.211715-4.jnilib]:
> Unable to convert to artifact reference:
> fobs4jmf/macosx/i386/libfobs4jmf/0.4.1.4-SNAPSHOT/libfobs4jmf-0.4.1.4-20080217.211715-4.jnilib
> org.apache.maven.archiva.consumers.ConsumerException: Unable to convert to
> artifact reference:
> fobs4jmf/macosx/i386/libfobs4jmf/0.4.1.4-SNAPSHOT/libfobs4jmf-0.4.1.4-20080217.211715-4.jnilib
> at
> org.apache.maven.archiva.consumers.core.MetadataUpdaterConsumer.processFile(MetadataUpdaterConsumer.java:167)
> at
> org.apache.maven.archiva.repository.scanner.functors.ConsumerProcessFileClosure.execute(ConsumerProcessFileClosure.java:57)
> at
> org.apache.commons.collections.functors.IfClosure.execute(IfClosure.java:117)
> at
> org.apache.commons.collections.CollectionUtils.forAllDo(CollectionUtils.java:388)
> at
> org.apache.maven.archiva.repository.scanner.RepositoryScannerInstance.directoryWalkStep(RepositoryScannerInstance.java:138)
> at
> org.codehaus.plexus.util.DirectoryWalker.fireStep(DirectoryWalker.java:173)
> at
> org.codehaus.plexus.util.DirectoryWalker.scanDir(DirectoryWalker.java:391)
> at
> org.codehaus.plexus.util.DirectoryWalker.scanDir(DirectoryWalker.java:385)
> ...
> Caused by: org.apache.maven.archiva.repository.layout.LayoutException:
> Invalid path to Artifact: filename format is invalid,expected timestamp
> format in filename.
> at
> org.apache.maven.archiva.repository.content.DefaultPathParser.toArtifactReference(DefaultPathParser.java:131)
> at
> org.apache.maven.archiva.repository.content.AbstractDefaultRepositoryContent.toArtifactReference(AbstractDefaultRepositoryContent.java:54)
> at
> org.apache.maven.archiva.repository.content.ManagedDefaultRepositoryContent.toArtifactReference(ManagedDefaultRepositoryContent.java:330)
> at
> org.apache.maven.archiva.consumers.core.MetadataUpdaterConsumer.processFile(MetadataUpdaterConsumer.java:161)
> I narrowed down the issue to a regex in
> org.apache.maven.archiva.repository.content.FilenameParser. The artifact
> filename extension is limited to four characters and the version was coming
> back with '0.4.1.4-20080217.211715-4.j'. By changing the extension length to
> six characters, the issue was resolved.
> The attached patch sets no length on an artifact extension enabling support
> for .dylib and .jnilib files for mac os x.
> org.apache.maven.archiva.repository.content.FilenameParser
> 43c43
> < private static final Pattern extensionPattern = Pattern.compile(
> "(.tar.gz$)|(.tar.bz2$)|(.[a-z0-9]{1,4}$)",
> ---
> > private static final Pattern extensionPattern = Pattern.compile(
> > "(.tar.gz$)|(.tar.bz2$)|(.[a-z0-9]*$)",
> Jim Jackson
--
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