If you want to provide a custom packaging type, there are a few things you
may need to do:

1. Think about your artifact handling for this packaging...if it needs to be
on the classpath, if it is subject to transitive dependency resolution, etc.

2. Define your lifecycle mapping in a components.xml within the plugin or
build extension you intend to use to share it. This file goes in the
plugin/build extension project under:

src/main/resources/META-INF/plexus/components.xml

3a. If your custom packaging takes advantage of behavior in a custom plugin,
you may want to include it via the plugin:

<build>
 <plugins>
   <plugin>
     [...]
     <extensions>true</extensions>
[...]

The extensions flag tells Maven to look here for custom packaging, artifact
handlers, etc.

3b. If your custom packaging DOESN'T use a custom plugin, as in the case
where you just want to remap phase bindings from another lifecycle mapping,
you should consider using a build extension. Build extensions are
plain-vanilla jars that contain the component descriptor as outlined in (2)
above; it doesn't have to have any associated code with it, just that
descriptor. Then, include this in the POM of your project with the custom
packaging, as:

<project>
 [...]
 <packaging>your-custom</packaging>
 [...]

 <build>
   <extensions>
     <extension>
       <groupId>...</groupId>
       <artifactId>...</artifactId>
       <version>...</version>
     </extension>
   </extensions>
 </build>
</project>

HTH,

John

On 10/30/06, Prasad Kashyap <[EMAIL PROTECTED]> wrote:

I need some help with running the site goal on a custom packaging.

This is how the packaging is defined..
http://rifers.org/paste/show/2093

On running 'mvn site' on a pom with this packaging, I get

[DEBUG] Error looking up lifecycle mapping to retrieve optional mojos.
Lifecycle ID: site. Error: Component descriptor cannot be found in the
component repository:
org.apache.maven.lifecycle.mapping.LifecycleMappingintegration-test.

org.codehaus.plexus.component.repository.exception.ComponentLookupException
:
Component descriptor cannot be found in the component repository:
org.apache.maven.lifecycle.mapping.LifecycleMappingintegration-test.
        at org.codehaus.plexus.DefaultPlexusContainer.lookup(
DefaultPlexusContainer.java:323)
        at org.codehaus.plexus.DefaultPlexusContainer.lookup(
DefaultPlexusContainer.java:440)



In the above components.xml, I tried merging both the <lifecycle>
elements under the same <lifecycles> for the same <role-hint>. The
default execution of the pom failed. I had to separate the <lifecycle>
into separate <component> elements.

Can someone please guide me into the correct path here ?

Thanx
Prasad.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to