Maven
  1. Maven
  2. MNG-2110

ArtifactRepositoryLayout isn't extensible

    Details

      Description

      I'm writing a plugin that (among other tasks) provides a new ArtifactRepositoryLayout suitable for Eclipse repositories. In my META-INF/plexus/components.xml, I have:

      <component>
      <role>org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout</role>
      <role-hint>eclipse</role-hint>
      <implementation>org.apache.maven.artifact.repository.layout.EclipseArtifactRepositoryLayout</implementation>
      </component>

      This plugin is listed in the POM with <extensions>true</extensions>. I would expect that a <repository/> with <layout>eclipse</eclipse> would discover and load this layout provider. Instead, it simply results in an exception. Note that this same components.xml file also defines some lifecycle mappings, which work perfectly.

      [INFO] Trace
      org.apache.maven.reactor.MavenExecutionException: Cannot find layout implementation corresponding to: 'eclipse' for remote repository with id: 'Eclipse Update Site'.
      at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:365)
      ...
      Caused by: org.codehaus.plexus.component.repository.exception.ComponentLookupException: Component descriptor cannot be found in the component repository: org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayouteclipse.
      at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:323)

        Activity

          People

          • Assignee:
            Unassigned
            Reporter:
            Matthew Beermann
          • Votes:
            1 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development