On 19 January 2012 11:53, Julien Ruaux <jru...@gmail.com> wrote:
> Hi,
>
> I'm trying to get my plugin to automatically call another one (the
> JAXB XJC Maven plugin).
>
> Here is what users of my plugin currently have to write:
>
> <project>
>        <build>
>                <plugins>
>                        <plugin>
>                                <groupId>com.sun.tools.xjc.maven2</groupId>
>                                <artifactId>maven-jaxb-plugin</artifactId>
>                                <version>1.1.1</version>
>                                <executions>
>                                        <execution>
>                                                <goals>
>                                                        <goal>generate</goal>
>                                                </goals>
>                                        </execution>
>                                </executions>
>                                <configuration>
>                                        
> <schemaDirectory>Resources/Schemas</schemaDirectory>
>                                </configuration>
>                        </plugin>
>                        <plugin>
>                                <groupId>sample.plugin</groupId>
>                                <artifactId>my-maven-plugin</artifactId>
>                                <version>1.0-SNAPSHOT</version>
>                                <executions>
>                                        <execution>
>                                                <phase>process-classes</phase>
>                                                <goals>
>                                                        <goal>generate</goal>
>                                                </goals>
>                                        </execution>
>                                </executions>
>                                <configuration>
>                                        <generate>...</generate>
>                                </configuration>
>                        </plugin>
>                </plugins>
>        </build>
> </project>
>
>
> This is what I would like my user's pom to look like :
>
> <project>
>        <build>
>                <plugins>
>                        <plugin>
>                                <groupId>sample.plugin</groupId>
>                                <artifactId>my-maven-plugin</artifactId>
>                                <version>1.0-SNAPSHOT</version>
>                                <configuration>
>                                        
> <schemaDirectory>Resources/Schemas</schemaDirectory>
>                                        <generate>...</generate>
>                                </configuration>
>                        </plugin>
>                </plugins>
>        </build>
> </project>
>
>
> Is that feasible?

No.

1. Unless you define a custom packaging, the default lifecycle is what
it is, and cannot be overridden, so you could do

<project>
      ...
      <packaging>my-packaging</packaging>
      ...
       <build>
               <plugins>
                       <plugin>
                               <groupId>sample.plugin</groupId>
                               <artifactId>my-maven-plugin</artifactId>
                               <version>1.0-SNAPSHOT</version>
                               <configuration>

<schemaDirectory>Resources/Schemas</schemaDirectory>
                                       <generate>...</generate>
                               </configuration>
                          <extensions>true</extensions> <!-- need this -->
                       </plugin>
               </plugins>
       </build>
</project>

and that would bind both your plugin's execution and the other
plugin's execution to your packaging's lifecycle

An alternative would be to define your own lifecycle and execute it as
a pre-req'd forked lifecycle... you'd still need people to add an
<executions> to get your goal to execute, but that would be the only
<execution>... the down side is that this is in a forked lifecycle

>
> Thanks for your help,
> Julien
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
> For additional commands, e-mail: users-h...@maven.apache.org
>

Reply via email to