Hello All,
 
I'm looking for a bit of advice from any of the plugin developers out there.

 
I'm currently in the process of reviewing m2 before my team upgrade from
Maven 1.0. As part of this we need to build a Maven2 plugin to compile
dotnet dll's and install them into the repository. We previously achieved
this through several generous helpings of jelly but I'd like to move it over
to the new m2 Mojo architecture. However, I'm a little confused at where to
start.
 
What I want to achieve:
 
- Write a Mojo to wrap the CSC/Mono exe which compiles all the source in the
src/main/dotnet directory to the a dll with the finalName property in Maven2
- Write a Mojo to wrap the CSC/Mono exe which compiles all the test
resources in the test dir
- Write a Mojo to wrap the Nunit exe which will run all of the Nunit tests
and which depends on the compile step to have occurred
- Hook these into the build schedule at the right points.
- Use the existing M2 infrastructure to deploy it out to repository and get
in back as req..
 
What I need to do seems to be:
 
- Create the pom.xml detailing that the plugin will be this will probably
contain only the references to the standards:
 
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-project</artifactId>
      <version>2.0-beta-1-SNAPSHOT</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-artifact</artifactId>
      <version>2.0-beta-1-SNAPSHOT</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-artifact-manager</artifactId>
      <version>2.0-beta-1-SNAPSHOT</version>
    </dependency>
 
- Specificfy in the javadoc annotations where I'd like the 2 plugins to
occur in the build cycle: 
   ie: CSC/Mono compile would be either compile or package I guess.
   the CSC/Mono Test compile would occur in  test 
 and the Nunit wrapper would also occur in test after the compile.
- In the projects that will use the plugin set the output type/packaging as
"dll"?
 
My questions are really:
 
- How can I inject the project information into the plugin, I can see that
it is through the annotations in the existing plugins but is that all I need
to do?
- Is there anything else I need to specify other than annotation to get the
plugin to run at the correct point in build process?
- When I've set the type in the pom of the dotnet projects that will use the
plugin to "dll" and my new plugin has built the dll's will m2 pick them up
and run with them and stick them in the repo without any more configuration?
 
Any other comments/recommendations would be greatly appreciated.
 
Many thanks,
 
Chris Stevenson 
 
 ------


--------------------------------------------------------------------------------
The information contained herein is confidential and is intended solely for the
addressee. Access by any other party is unauthorised without the express 
written permission of the sender. If you are not the intended recipient, please 
contact the sender either via the company switchboard on +44 (0)20 7623 8000, or
via e-mail return. If you have received this e-mail in error or wish to read our
e-mail disclaimer statement and monitoring policy, please refer to 
http://www.drkw.com/disc/email/ or contact the sender. 3166
--------------------------------------------------------------------------------

Reply via email to