I can get this all to work by doing the following:

* Editing maven-core/META-INF/components.xml & adding my eclipse-plugin
packaging (including reference to my pde:pde-compile goal)
* moving my plugin into the org.apache.maven.plugins package

So I can see how a custom lifecycle is defined & implemented, but clearly
having to modify maven-core/META-INF/components.xml to get my
lifecycle/packaging registered is BAD

I hope this is helpful to someone in clarifying what's involved in writing a
plugin that lives outside of maven-core

Cheers,
Matthew

> -----Original Message-----
> From: Matthew Pryor [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, 5 July 2005 10:44 AM
> To: 'Matthew Pryor'; 'Maven Developers List'
> Subject: RE: help with custom lifecycle
> 
> OK so I can define a packaging & lifecycle if I edit maven-core/META-
> INF/componenets.xml directly, but clearly this is not the way to go.
> 
> It seems like a bootstrap issue in that the packing from the POM is
> reacted to before my PDE plugin is read, so there is no chance to have my
> custom lifecycle/components.xml registered before the build fails
> 
> Of course when I edit maven-core/META-INF/componenets.xml directly, it
> can't find my plugin since it assumes that it is in the package
> org.apache.maven.plugin and tried to download it from ibilio
> 
> Apologies for pestering you all, but I'd love to get this working or sort
> out what needs to be changed to enable it
> 
> Thanks,
> Matthew
> 
> > -----Original Message-----
> > From: Matthew Pryor [mailto:[EMAIL PROTECTED]
> > Sent: Tuesday, 5 July 2005 9:29 AM
> > To: 'Maven Developers List'
> > Subject: RE: help with custom lifecycle
> >
> > OK well I have read all that and am sadly no closer to understanding how
> > to create a custom packaging.
> >
> > I want to support a packaging called 'eclipse-plugin'. I have all the
> code
> > working in terms of reading the addition to the classpath I want to
> make,
> > I just can't seem to be able to work out how to register my custom
> > lifecycle.
> >
> > AFAICT what I want to do is exactly the same as plexus:application, but
> so
> > far I don't seem to be able to convince m2 to pick up/read the content
> of
> > the components.xml in my plugin.
> >
> > I can see the following in maven-core/META-INF/components.xml
> >
> >     <!-- TODO: move to the plexus plugin -->
> >     <component>
> >       <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
> >       <role-hint>plexus-application</role-hint>
> >     <implementation>org.apache.maven.lifecycle.mapping.DefaultLifecycleM
> > apping</implementation>
> >       <configuration>
> >         <!-- START SNIPPET: plexus-application-lifecycle -->
> >         <phases>
> >           <generate-resources>plexus:app</generate-resources>
> >           <package>plexus:bundle-application</package>
> >           <install>install:install</install>
> >           <deploy>deploy:deploy</deploy>
> >         </phases>
> >         <!-- END SNIPPET: plexus-application-lifecycle -->
> >       </configuration>
> >     </component>
> >
> > But I can't seem to get my own variant of this notices. I have placed it
> > into the META-INF/components.xml file in my plugin, but when I run m2
> > aplha-3, I get the following error
> >
> >
> > [INFO] Deleting directory C:\proj\m2\workspace\m2-plugin-test\target
> > [ERROR] Nonexistent component:
> > org.apache.maven.lifecycle.mapping.LifecycleMappingeclipse-plugin
> > [ERROR] No lifecycle mapping for type 'eclipse-plugin': using defaults
> >
> > Am I even on the right track?
> >
> > Thanks,
> > Matthew
> >
> > > -----Original Message-----
> > > From: Emmanuel Venisse [mailto:[EMAIL PROTECTED]
> > > Sent: Monday, 4 July 2005 4:11 PM
> > > To: Maven Developers List
> > > Subject: Re: help with custom lifecycle
> > >
> > > You can see some design docs there :
> > > http://docs.codehaus.org/display/MAVEN/Lifecycle
> > >
> > > Emmanuel
> > >
> > >
> > > Matthew Pryor wrote:
> > > > I am trying to write/refine the mevenide Eclise PDE builder maven2
> > > plugin.
> > > >
> > > >
> > > >
> > > > In essence what this plugin needs to do is to read an XML file
> > > (plugin.xml)
> > > > and add a bunch of jar files to the classpath prior to compilation
> or
> > > > testing.
> > > >
> > > >
> > > >
> > > > I have all the latest source for m2 and am not 100% sure about the
> > right
> > > > approach, but I think I will start with a custom lifecycle what will
> > > class a
> > > > slight modified compiler that add the 'private' Eclipse PDE
> > dependencies
> > > >
> > > >
> > > >
> > > > <side-note>
> > > >
> > > >             I suppose I could go down the path of trying to treat
> the
> > > > Eclipse specific stuff as real dependencies and create artifacts for
> > > them
> > > > and write a custom artifact handler that could read them from the
> > > Eclipse
> > > > plugins folder, but I think that would be a lot of code and not be
> > that
> > > much
> > > > better than simply adding the jar files to the classpath before
> > calling
> > > the
> > > > AbstractCompilerMojo - private API issues aside
> > > >
> > > > </side-note>
> > > >
> > > >
> > > >
> > > > So my question is, after having read
> > > > http://maven.apache.org/maven2/lifecycle.html and attempting to
> follow
> > > it, I
> > > > get the following
> > > >
> > > >
> > > >
> > > > [INFO] Deleting directory C:\proj\m2\workspace\m2-plugin-test\target
> > > >
> > > > [ERROR] Nonexistent component:
> > > > org.apache.maven.lifecycle.mapping.LifecycleMappingeclipse-plugin
> > > >
> > > > [ERROR] No lifecycle mapping for type 'dude-application': using
> > defaults
> > > >
> > > >
> > > >
> > > > My META-INF/plexus.componenets.xml looks like this:
> > > >
> > > >
> > > >
> > > > <components>
> > > >
> > > >   <component>
> > > >
> > > >     <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
> > > >
> > > >     <role-hint>eclipse-plugin</role-hint>
> > > >
> > > >
> > > >
> > >
> >
> <implementation>org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping
> > > </
> > > > implementation>
> > > >
> > > >     <configuration>
> > > >
> > > >       <phases>
> > > >
> > > >         <process-resources>resources:resources</process-resources>
> > > >
> > > >         <compile>pde:pde-compile</compile>
> > > >
> > > >
> > > > <process-test-resources>resources:testResources</process-test-
> > resources>
> > > >
> > > >         <test-compile>compiler:testCompile</test-compile>
> > > >
> > > >         <test>surefire:test</test>
> > > >
> > > >         <package>pde:pde-package</package>
> > > >
> > > >         <install>install:install</install>
> > > >
> > > >         <deploy>deploy:deploy</deploy>
> > > >
> > > >       </phases>
> > > >
> > > >     </configuration>
> > > >
> > > >   </component>
> > > >
> > > > </components>
> > > >
> > > >
> > > >
> > > > If anyone can point me to a complete plugin example that defines its
> > own
> > > > lifecycle I can probably work from there
> > > >
> > > >
> > > >
> > > > Thanks,
> > > >
> > > > Matthew
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > >
> > >
> > > ---------------------------------------------------------------------
> > > 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]

Reply via email to