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]