You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by Jeroen Leenarts <je...@gmail.com> on 2007/04/19 10:37:48 UTC

[mojo dev] Detect need for plugin execution.

Hello,

At the project I'm at right now we have a plugin which runs the ejbdeploy
tool for any EJB's we might have. (EJB Deploy generates WebSphere specific
stub and interop code for an EJB.) The mojo pickes up the standard EJB jar,
runs it through EJB Deploy and publishes the result using a custom artifact
type (ejb-ibm) and classifier (IBM). (More on this on my blog:
http://blog.leenarts.net/2007/02/11/maven-2s-ear-plugin-gives-me-a-headache/Oh
and no headache anymore, it all works :D )

Nothing wrong with that, except it takes a long time to execute. Currently
we're a little bit over half an hour execution time for a single build. Most
of the times is used by running the EJB Deploy task.

The thing is, running EJB Deploy is not needed when the relevant code has
not changed.

When executing the build I see the message that there are zero files to be
compiled. I think packaging is also skipped. And then my EJB Deploy
executes.

A number of questions:
-Am I right that the different packaging plugins (EJB, WAR, JAR, EAR)
actually skip when nothing was compiled?
-If so, how can I detect that nothing was actually packaged, and thus for no
EJB Deploy is needed at that instance?

I've digged through the Maven provided packaging plugins a bit and I could
not find anything looking like what I would like to do. If it is there it is
most likely somewhere in a dependency of the plugins. I can imagine that not
running a packaging plugin will result in NOT publishing the artifact using
the Maven project helper class. And therefor I can dig through the Maven
Project Object tree to see if the artifact is there or not. When it's not
there, packing was not done, so I don't need to run EJB deploy either...

-Is the last paragraph above me being rational or halucinating?

Input, thoughts, ideas and suggestions are much appreciated.

Anyway,