Is there a way to add additional build steps to the Bundle building process that is triggered when you right click and select "Build Bundle" from within CRXDE?
My specific use case right now is to be able to run the xjc compiler to generate some additional Java source classes for JAXB binding for interacting with a 3rd party web service. But the specific additional tasks could be anything really.
I can see that clicking the Build Bundle item triggers a POST request to /libs/crxde/build that includes two parameters, one that indicates the root directory of the bundle and also the location of the bundle descriptor. This URL is serviced by the com.day.crx.ide.CRXDEBuildServlet servlet which is part of the com.day.crx.crxde-support bundle.
Right now I am having to run the xjc process externally to CRXDE (via Maven from the command line in this case) and then push the generated .java files back into the JCR tree using vlt, then do the right click Build Bundle process.
I realize I could build my own OSGi bundle externally and install it to Felix, but I am looking for a way to avoid that as it makes our development environment more complex, particularly with some junior CQ folks on the team.
For those looking for an answer to this question, unfortunately there is none. The bundle build process embedded within CQ is very basic and there are no hooks that I have ever discovered that will allow you to extend it with custom steps.
If you need to do a custom build for your bundle that includes additional steps you will need to use an external build tool like Apache Maven and then deploy the bundle to your CQ server (which can easily be done as part of the Maven build process).
We went ahead and created a Maven Archetype that we now use as the basis for all of our CQ projects and do not use the bundle build process embedded within CQ at all anymore. We made the archetype freely available, so if you want to make use of it you can read about here:
http://www.cqblueprints.com/xwiki/bin/view/Blue+Prints/The+CQ+Project+Maven+Archetype
Cheers