Hi Brian,
sooo, m2e doesn't know if it's safe to execute a 3rd party plugin or not, during an Eclipse build[1]. It needs hints whether to ignore or execute this maven plugin or maybe delegate its execution to some eclipse plugin adapter.
So the very first question you need to answer is : does the maven plugin need to be invoked during an eclipse (incremental or full) build, or can it be safely ignored?
I'm guessing (but you prolly want to ask the exoerts):
- cxf-java2wadl-plugin:parsejavadoc: probably ignored
- cxf-java2wadl-plugin: java2wadl: probably executed on full builds only (you don't want to regenerate the wadl every time you save a file in your project)
- fabric-cxf-plugins: java2swagger: probably executed on full builds only
Once you have the answer to that question, the next step is to declare a lifecycle mapping (LM), which can be done in several ways, depending on your use case:
1 - add a LM descriptor within the maven plugin itself:
* this only affects consumers of the new maven plugin version containing the LM. For older versions, see #2-#3
* if must be executed, need to ensure this is done in an optimal way by using the incremental build API [2], to at least automatically refresh resources modified by the plugin execution
2 - define m2e LM in pom.xml
* define it once in a common parent pom to avoid xml bloat, that should be easy to do for new example projects, won't work for previous example releases
3 - create an m2e configurator (eclipse plugin) [3]
* can simply define the LM. Can also enhance eclipse integration by configuring some eclipse specific configuration
* the eclipse plugin needs to be added to the m2e discovery catalog [4]
You could reach out to the fabric8 team and ask them if they're willing to make their plugins incremental-build friendly. For Apache CXF, that might be a bit more tricky, bit doesn't hurt to ask.
Chances are though, it'll be faster/easier to create an m2e eclipse plugin for that (#3). I have commit access to the m2e discovery repo, so it'll be easy to get in. Now, the m2e project is not responsible for providing LMs for 3rd party maven plugins. So I'd suggest you open JBIDE issues for each of your problems.
Fred