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,
