Uploaded image for project: 'Maven Dependency Plugin'
  1. Maven Dependency Plugin
  2. MDEP-108

update site to show how to inject custom unarchiver

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Minor
    • Resolution: Won't Fix
    • Affects Version/s: 2.0-alpha-4
    • Fix Version/s: None
    • Component/s: unpack-dependencies
    • Labels:
      None

      Description

      I'have developed a Maven plugin that defines a new packaging type. Produced artifacts with this packaging type, have a "car" extension.
      Modules, that depends on "car" modules must unpack them to use them. To do so, I configure the maven-dependency-plugin like this (note that "cecilia-lib" is the name of the packaging type I've defined):

      <plugin>
        <artifactId>maven-dependency-plugin</artifactId>
        <executions>
          <execution>
            <id>unpack</id>
            <phase>process-resources</phase>
            <goals>
              <goal>unpack-dependencies</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <includeTypes>cecilia-lib</includeTypes>
        </configuration>
      </plugin>
      

      Here, I get the error :

      Unknown archiver type
      Embedded error: No such archiver: 'car'.
      

      After some investigations, I add the following in the plexus/components.xml of my plugin:

      <component>
        <role>org.codehaus.plexus.archiver.UnArchiver</role>
        <role-hint>car</role-hint>
        <!-- there is no implementaion of CarUnArchiver, but ZipUnArchive will do the job -->
        <implementation>org.codehaus.plexus.archiver.zip.ZipUnArchiver</implementation>
        <instantiation-strategy>per-lookup</instantiation-strategy>
      </component>
      

      But I still get the same error.

      If I had somewhere in my plugin the following code:

        container.lookup( "org.codehaus.plexus.archiver.Archiver", "car");
        archiverManager.getUnArchiver( "car" )
      

      It works correctly...

      So I can't figure out why it doesn't work from the dependency plugin.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              matthieuleclercq Matthieu Leclercq
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: