Please ignore my last question :-) I should have read the "How to
contribute" ;-)

On Tue, Apr 29, 2008 at 7:02 PM, walid joseph Gedeon <[EMAIL PROTECTED]>
wrote:

> Indeed! Thanks :-)
>
> So, for the summary, here are the steps that provided my solution:
>
>   1) in the pom, added maven-inherit-plugin, as described in the plugin
> documentation.
>
>   2) in the mojo, in my case I needed to extend a goal with a different
> name:
> /**
>  * @extendsPlugin maven-compiler-plugin
>  * @extendsGoal compile
>  * @goal custom-compile
>  * @phase compile
>  */
> public class CustomCompileMojo extends CompilerMojo { //...
>
>   3) in the pom, the dependency requires a type to be specified:
>     <dependency>
>       <groupId>org.apache.maven.plugins</groupId>
>       <artifactId>maven-compiler-plugin</artifactId>
>       <type>maven-plugin</type>
>       <version>2.0.2</version>
>     </dependency>
>
> I'm thinking all of this (a summary) would be good as an item in the
> "Maven Plugins Cookbook"... something like "How to extend an existing
> plugin?"
> What's the accepted way of getting it up there? I wouldnt mind writing it.
>
> W.
>
>
> On Tue, Apr 29, 2008 at 6:49 PM, VELO <[EMAIL PROTECTED]> wrote:
>
> > Try add type to dependency:
> > <type>maven-plugin</type>
> >
> >
> > VELO
> >
> >
> > On Tue, Apr 29, 2008 at 1:46 PM, walid joseph Gedeon <[EMAIL PROTECTED]>
> > wrote:
> >
> > > It seems to want to do what I need... but I can't seem to get rid of
> > > this error:
> > >
> > > [ERROR] BUILD ERROR
> > > [INFO]
> > > ------------------------------------------------------------------------
> > > [INFO] maven-compiler-plugin plugin is not a dependency
> > >
> > > eventhough I do have it in my pom...
> > >
> > >     <dependency>
> > >       <groupId>org.apache.maven.plugins</groupId>
> > >       <artifactId>maven-compiler-plugin</artifactId>
> > >       <version>2.0.2</version>
> > >     </dependency>
> > >
> > > Looking at the code, it seems to also want to allow "compiler", but
> > > tried that too with no luck...
> > > Still digging, but if anyone has an idea, all hints are appreciated
> > > :-)
> > >
> > > W
> > >
> > >
> > > On Tue, Apr 29, 2008 at 6:39 PM, VELO <[EMAIL PROTECTED]> wrote:
> > >
> > > > I use it, works!
> > > >
> > > > VELO
> > > >
> > > > On Tue, Apr 29, 2008 at 11:45 AM, Benoit Decherf <
> > > > [EMAIL PROTECTED]>
> > > > wrote:
> > > >
> > > > > Here is the plugin:
> > > > > http://www.ops4j.org/projects/pax/construct/maven-inherit-plugin/
> > > > >
> > > > > Benoit
> > > > >
> > > > >
> > > > > Brian E. Fox wrote:
> > > > >
> > > > > > Plugins can't really be extended. What is most likely happening
> > > > is that
> > > > > > the metadata that tells plexus what to inject is not included in
> > > > your
> > > > > > plugin. There is a plugin/tool out there that supposedly allows
> > > > you to
> > > > > > extend plugins by merging the metadata, but I forget the name.
> > > > > >
> > > > > > -----Original Message-----
> > > > > > From: walid joseph Gedeon [mailto:[EMAIL PROTECTED] Sent:
> > > > Tuesday,
> > > > > > April 29, 2008 10:37 AM
> > > > > > To: Maven Developers List
> > > > > > Subject: Can plugins be extended?
> > > > > >
> > > > > > Hello all,
> > > > > >   After failing to customize the compiler pluging (by passing
> > > > > > <compileSourceRoots /> in the maven-compiler-plugin
> > > > <configuration />);
> > > > > > I've
> > > > > > went onto trying to extend the maven-compiler-plugin CompileMojo
> > > > to just
> > > > > > set
> > > > > > that variable.
> > > > > >
> > > > > > It looks like I've missed something: the injected parameters of
> > > > the
> > > > > > super
> > > > > > classes are not being set (e.g. the parameter compilerId, or the
> > > > > > component
> > > > > > compilerManager in AbstractCompilerMojo are null).
> > > > > > Is there a flag that enables injection of parameters in super
> > > > classes?
> > > > > > Or is
> > > > > > the issue something else?
> > > > > >
> > > > > > Thanks :-)
> > > > > > Walid.
> > > > > >
> > > > > > Note: a component definition maps the custom-compile goal to the
> > > > > > <compile />
> > > > > > phase.
> > > > > >
> > > > > > o====x maven-customcompile-plugin Mojo: x====o
> > > > > > /**
> > > > > > * @goal custom-compile
> > > > > > * @phase compile
> > > > > > * @requiresDependencyResolution runtime
> > > > > > */
> > > > > > public class CustomCompilerMojo extends CompilerMojo {
> > > > > >   // ...
> > > > > >
> > > > > >   /**
> > > > > >    * @parameter
> > > > > >    */
> > > > > >   private List<String> compileSourceRoots;
> > > > > >
> > > > > >   protected List<String> getCompileSourceRoots()
> > > > > >   {
> > > > > >       return compileSourceRoots;
> > > > > >   }
> > > > > >
> > > > > >   public void execute() throws MojoExecutionException,
> > > > > > CompilationFailureException
> > > > > >   {
> > > > > >       super.execute();
> > > > > >   }
> > > > > > }
> > > > > >
> > > > > > o====x Project POM: x====o
> > > > > > <!-- ... -->
> > > > > >  <build>
> > > > > >    <plugins>
> > > > > >      <plugin>
> > > > > >        <groupId>fr.gedeon</groupId>
> > > > > >        <artifactId>maven-customcompile-plugin</artifactId>
> > > > > >        <extensions>true</extensions>
> > > > > >        <configuration>
> > > > > >          <compileSourceRoots>
> > > > > >            <directory>Dev/src/java</directory>
> > > > > >          </compileSourceRoots>
> > > > > >        </configuration>
> > > > > >      </plugin>
> > > > > >    </plugins>
> > > > > >  </build>
> > > > > >
> > > > > > o====x Partial Trace: x====o
> > > > > > [DEBUG] Configuring mojo
> > > > > >
> > > > 'fr.gedeon:maven-customcompile-plugin:1.0-SNAPSHOT:custom-compile' -->
> > > > > > [DEBUG]   (f) compileSourceRoots = [Dev/src/java]
> > > > > > [DEBUG]   (f) project =
> > > > [EMAIL PROTECTED]
> > > > > > [DEBUG] -- end configuration --
> > > > > > [INFO] [bem:custom-compile]
> > > > > > [DEBUG] Using compiler 'null'.
> > > > > >
> > > > > >
> > > > > > >      ^ this is from getLog().debug( "Using compiler '" +
> > > > compilerId +
> > > > > > >
> > > > > > >
> > > > > > "'." );
> > > > > >
> > > > > >
> > > > > > >        in AbstractCompilerMojo
> > > > > > >
> > > > > > >
> > > > > > [INFO]
> > > > > >
> > > > ------------------------------------------------------------------------
> > > > > > [ERROR] FATAL ERROR
> > > > > > [INFO]
> > > > > >
> > > > ------------------------------------------------------------------------
> > > > > > [INFO] null
> > > > > > [INFO]
> > > > > >
> > > > ------------------------------------------------------------------------
> > > > > > [DEBUG] Trace
> > > > > > java.lang.NullPointerException
> > > > > >        at
> > > > > >
> > > > > >
> > > > org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:267)
> > > > > >
> > > > > >
> > > > > > >         ^ I suppose this is compiler =
> > > > compilerManager.getCompiler(
> > > > > > >
> > > > > > >
> > > > > > compilerId );
> > > > > >
> > > > > >
> > > > > > >           with compilerManager = null
> > > > > > >
> > > > > > >
> > > > > >        at
> > > > > >
> > > > org.apache.maven.plugin.CompilerMojo.execute(CompilerMojo.java:114)
> > > > > >        at
> > > > > >
> > > > org.apache.maven.plugin.CompileBemMojo.execute(CompileBemMojo.java:37)
> > > > > > ...
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > >
> > >
> >
>

Reply via email to