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]