I think the component.xml is correct (at end) - it certainly looks the same as the plexus examples.
My project that uses this plugin works entirely correctly, *unless* it is a part of a multiproject build, in which case it uses the wrong extension. I don't know why this would be the case unless I've missed something? In same directory: W:\kms\dev\apps\kms>mvn install [INFO] Scanning for projects... [INFO] ---------------------------------------------------------------------------- [INFO] Building KMS Application Code [INFO] task-segment: [install] [INFO] ---------------------------------------------------------------------------- [INFO] [cargo2:uberwar] [INFO] [install:install] [INFO] Installing W:\1244 - Knowledge Management System (KMS)\dev\apps\kms\target\kms-2.0-SNAPSHOT.war to C:\Documents and Settings\nig el.magnay\.m2\repository\com\cswgroup\kms\kms\2.0-SNAPSHOT\kms-2.0-SNAPSHOT.war [INFO] ---------------------------------------------------------------------------- [INFO] BUILD SUCCESSFUL [INFO] ---------------------------------------------------------------------------- [INFO] Total time: 1 minute 9 seconds [INFO] Finished at: Thu Nov 24 11:46:53 GMT 2005 [INFO] Final Memory: 3M/6M [INFO] ---------------------------------------------------------------------------- As a part of a multiproject: .... [INFO] ---------------------------------------------------------------------------- [INFO] Building KMS Application Code [INFO] task-segment: [install] [INFO] ---------------------------------------------------------------------------- [INFO] [cargo2:uberwar] [INFO] [install:install] [INFO] Installing W:\1244 - Knowledge Management System (KMS)\dev\apps\kms\target\kms-2.0-SNAPSHOT.war to C:\Documents and Settings\nig el.magnay\.m2\repository\com\cswgroup\kms\kms\2.0-SNAPSHOT\kms-2.0-SNAPSHOT.uberwar .... Config of plugin: <component-set> <components> <component> <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role> <role-hint>uberwar</role-hint> <implementation>org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping</implementation> <configuration> <phases> <package> org.codehaus.cargo.maven2:cargo-maven2-plugin:uberwar </package> <install>org.apache.maven.plugins:maven-install-plugin:install</install> <deploy>org.apache.maven.plugins:maven-deploy-plugin:deploy</deploy> </phases> </configuration> </component> <component> <role>org.apache.maven.artifact.handler.ArtifactHandler</role> <role-hint>uberwar</role-hint> <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation> <configuration> <type>uberwar</type> <extension>war</extension> <packaging>uberwar</packaging> </configuration> </component> </components> </component-set> On 11/23/05, Brett Porter <[EMAIL PROTECTED]> wrote: > I'm losing track of this in all the bits and pieces as to what you really > have. > > I'd suggest looking at the Plexus plugin and comparing the > components.xml to your own: > http://svn.plexus.codehaus.org/trunk/plexus-maven-plugin/ > > HTH, > Brett > > On 11/24/05, Nigel Magnay <[EMAIL PROTECTED]> wrote: > > Ah - I have found out why I'm having trouble - my configuration looks like > > > > <configuration> > > <extension>war</extension> > > <type>uberwar</type> > > </configuration> > > > > This works correctly when I build the project that uses the plugin. > > However, if the project that uses the plugin is built as a part of a > > multiproject build, it fails, using the (incorrect) extension of > > uberwar again. Also in the trace I get > > [ERROR] Nonexistent component: > > org.apache.maven.lifecycle.mapping.LifecycleMappinguberwar > > > > Which seems to not be correct, because it must have read this mapping > > in order to execute the plugin (which it does, because I can see this > > in the output that it is calling my plugin correctly. > > > > Is this a bug, or is there something else I need to set ? > > > > > > On 11/18/05, Brett Porter <[EMAIL PROTECTED]> wrote: > > > As I said, your <type> should be uberwar - not war (it needs to match > > > the role-hint, as > > > stated in the docs). > > > > > > On 11/18/05, Nigel Magnay <[EMAIL PROTECTED]> wrote: > > > > I have an 'uberwar' mojo; it's components.xml has a lifecyclemapping > > > > and an artifacthandler definition, both with the role-hint of uberwar. > > > > > > > > My project that uses this mojo has a pom.xml with > > > > <packaging>uberwar</packaging> > > > > > > > > The lifecycle is working correctly, my mojo is being called in the > > > > packaging step. It does a getArtifact().setFile() correctly - the > > > > package should be have an extension of .war. > > > > > > > > The components.xml for the mojo has the configuration that states > > > > <extension>war</extension>. However, when the install plugin runs, it > > > > copies <artifact>.war into the repository as <artifact>.uberwar > > > > > > > > Attaching a debugger seems to show that when the installer determines > > > > the name for the artifact in the repository, it's asking the > > > > defaultArtifactHandler.getExtension() - the value of its member > > > > variable is null, so it defaults to the type (which is uberwar). > > > > > > > > So it sounds like I'm configuring the DefaultArtifactHandle wrongly if > > > > its not getting the config I am passing.. > > > > > > > > On 11/17/05, John Casey <[EMAIL PROTECTED]> wrote: > > > > > -----BEGIN PGP SIGNED MESSAGE----- > > > > > Hash: SHA1 > > > > > > > > > > Yes, the private member vars are injected with values from the > > > > > configuration. That's how plexus works by default (plexus is the > > > > > underlying container Maven uses). > > > > > > > > > > So, you have a POM with <packaging>uberwar</packaging>, and it's > > > > > setting > > > > > the extension to 'uberwar'? > > > > > > > > > > Or, is it that you have a dependency in another POM with > > > > > <type>uberwar</type>, and it's looking for a dependency artifact with > > > > > an > > > > > extension of 'uberwar' rather than 'war'? > > > > > > > > > > Sorry, I'm a little confused. > > > > > > > > > > - -j > > > > > > > > > > Nigel Magnay wrote: > > > > > | Yep - I'm pretty sure it's reading it as there is also a > > > > > | LifecycleMapping which is being used correctly. > > > > > | > > > > > | Are the private member variables supposed to get read set by some > > > > > | persistence mechanism from the configuration node ? > > > > > | > > > > > | > > > > > | On 11/17/05, John Casey <[EMAIL PROTECTED]> wrote: > > > > > | > > > > > | You're defining this components.xml in a plugin, right? Do you have > > > > > | <extensions>true</extensions> defined in the plugin reference within > > > > > | your plugin-user POM? If not, it will use a default artifact handler > > > > > | that has the same type as your packaging, and the same extension as > > > > > your > > > > > | packaging... > > > > > | > > > > > | -j > > > > > | > > > > > | Nigel Magnay wrote: > > > > > | | Hello - I have been trying to follow the configuration for > > > > > | | ArtifactHandlers - I have in my components.xml > > > > > | | > > > > > | | <component> > > > > > | | > > > > > <role>org.apache.maven.artifact.handler.ArtifactHandler</role> > > > > > | | <role-hint>uberwar</role-hint> > > > > > | | > > > > > | > > > > > <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation> > > > > > | | <configuration> > > > > > | | <extension>war</extension> > > > > > | | <type>war</type> > > > > > | | <packaging>war</packaging> > > > > > | | <language>java</language> > > > > > | | <addedToClasspath>false</addedToClasspath> > > > > > | | </configuration> > > > > > | | </component> > > > > > | | > > > > > | | But, looking at DefaultArtifactHandler, the configuration never > > > > > seems > > > > > | | to be used as there are only private member variables, and > > > > > extension > > > > > | | defaults to be the same as the type, which will always be > > > > > 'uberwar' (I > > > > > | | want it to be war). > > > > > | | > > > > > | | Am I missing something? Or is the intention to create your own > > > > > subtype > > > > > | | of ArtifactHandler rather than using the Default (is the > > > > > configuration > > > > > | | not implemented?) > > > > > | | > > > > > | | > > > > > --------------------------------------------------------------------- > > > > > | | To unsubscribe, e-mail: [EMAIL PROTECTED] > > > > > | | For additional commands, e-mail: [EMAIL PROTECTED] > > > > > | | > > > > > | | > > > > > | | > > > > > > > > > > - > > > > > --------------------------------------------------------------------- > > > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > > > > > > > > > > > > > > > > | > > > > > --------------------------------------------------------------------- > > > > > | To unsubscribe, e-mail: [EMAIL PROTECTED] > > > > > | For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > > > > > > > > > > > -----BEGIN PGP SIGNATURE----- > > > > > Version: GnuPG v1.2.6 (GNU/Linux) > > > > > > > > > > iD8DBQFDfNYtK3h2CZwO/4URAhD7AJ9PjeGqrhU2vfst6l6SkFqMsmFH5gCfbFCo > > > > > 4J7BJTXgfCiuvXn0WmYpK18= > > > > > =kvEp > > > > > -----END PGP SIGNATURE----- > > > > > > > > > > --------------------------------------------------------------------- > > > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]