Community
Participate
Working Groups
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; de; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5 Build Identifier: 3.5.1 Hi, I use the buckminster headless build to build my eclipse product. The buckminster build uses a headless eclipse environment to build the products. But AJDT does not supplpy a heedless implementation of its builder. There is a headless plugin called org.eclipse.pde.build, but the problem with the org.eclipse.pde.build is, that it does not implement the required extension point "org.eclipse.core.resources.builders" in order to serve the "org.eclipse.ajdt.core.ajbuilder" buildcommand (in the .project file). I’m not a developper of buckminster itself, but as far as I see, AJDT should supply a feature, that implements the extension point “org.eclipse.core.resources.builders” configured for the “ajbuilder” that calls the “org.eclipse.ajdt.core.builder.AJBuilder”. As a starting point, just take the “org.eclipse.ajdt.core” (this plugin implements the required extension point) and remove all dependencies to GUI plugins. Remove all code that is not necessary for building the aspects and the sourcecode. But be careful, I don’t know exactly what is needed for aspectj, in order to build the plugins! I found a note on what a headless eclipse is all about: Headless plugins run in what is known as the headless mode of eclipse. This mode does not start the GUI, hence is faster and uses less memory Thanks a lot for your interest. Please ask, if I can support with more information. Best regards, Alain. References: 1. Bug 252641 - [build] Not possible to run an AspectJ-aware headless pde build 2. Buckminster newsgroup "eclipse.tools.buckminster" Reproducible: Always Steps to Reproduce: 1. Use Buckminster
Some input on Buckminster. Buckminster does not use a different build when running headlessly. We invoke the internal Eclipse builder (the one that runs builders declared in your .project file) in the exact same way, regardless of if the build is issued from the IDE or headlessly. I'm not sure why AJDT requires a UI to build. If it is related to use of "org.eclipse.ui.externaltools.ExternalToolBuilder", then the solution might be to use the Buckminster equivalent [1] instead. In any case, we will of course be glad to assist with this if there is something we can do to help. AspectJ is very cool technology and it is of interest for us that we can build things that includes it. [1] https://bugs.eclipse.org/bugs/show_bug.cgi?id=296994
I guess I'm not really sure what's necessary here. AJDT core does have some transitive dependencies on UI plugins and this needs to be cleaned up. But, other than that what is required? If AJDT core were pure 'core', would that be sufficient for you to run the ajbuilder from buckminster? Or do you need a builder from within org.eclipse.ajdt.pde.build?
(In reply to comment #2) > If AJDT core were pure 'core', would that be sufficient for you to run the > ajbuilder from buckminster? > I believe it would. The only unusual thing about running headlessly in Buckminster is that not only are the UI bundles not started, they are in fact not present at all. The thing you build may of course have dependencies to the UI and they can be resolved against a target platform, but the runtime itself and the builders involved, have no access to UI components. > Or do you need a builder from within org.eclipse.ajdt.pde.build? Not sure what that means. Can you elaborate?
(In reply to comment #3) > > Or do you need a builder from within org.eclipse.ajdt.pde.build? > > Not sure what that means. Can you elaborate? Based on the earlier part of your answer, I think the answer to this part is no. But to elaborate, this particular bundle contains all of AJDT's ant scripts to run headlessly. The ajbuilder is not called from this script, but rather the iajc ant task is used to build the projects. It is a derivative of the org.eclipse.pde.build bundle. I should have some time to look at this tomorrow. There are two approaches I can take. Either the UI portions can be moved into another plugin, or if that proves too difficult, the UI portions can be marked as optional.
Not that it is ideal, but a workaround until this is closed is to add the UI components to the buckminster installation you are using. We are currently doing just that, and while the installation is much larger than it need be, it builds our aspected code just fine.
OK. I just committed a few changes that make all UI components on AJDT core optional. If the build is successful, then the fix should allow the AJBuilder to run headless. However, there are 2 other bugs to be aware of that come from a bad split between UI and core components of AJDT: bug 268110 bug 268116 They may have an effect on your build, but try this out first and let me know.
Andrew and Thomas, thanks a lot for your help on this! (I tried to download the "2.0.2.e35x-20091215-1900" from "http://www.eclipse.org/ajdt/downloads/#35zips" in order to try it out - but whitout success. The build is probably broken) Best regards, Alain.
Hi Alain, Please be more specific about your problems installing. I have just been able to install with no problems.
(In reply to comment #8) Hi Andrew. Now the download is ok. (was probably a temporary problem.) I will try it out. Thanks, Alain.
(In reply to comment #6) Congratulations, it works! I just made the first test with the new org.eclipse.ajdt.core plugin. The "HelloWorld" test was successful. I will soon test our full build with the new org.eclipse.ajdt.core plugin. Thanks a lot, Alain.
(In reply to comment #10) > Congratulations, it works! Good to hear. Tentatively closing this issue. Please reopen or create a new one if you see any more problems.