Thread: [Pluginbuilder-development] Pluginbuilder experiences
Status: Beta
Brought to you by:
mbarchfe
From: Tom Wickham-J. <tw...@wo...> - 2009-01-26 13:16:10
|
Hi We build a collection of eclipse plugins to add development support for Mathematica. We also ship an RCP version of this, one that is very close to eclipse. eclipse is a great platform, but I have always found its build system/tools to be complicated, confusing, and hard to work with. This is in enormous contrast to just about everything else in eclipse. Last year we switched to use pluginbuilder to create the build system for our plugins, and it works very nicely. It helps enormously, for example it is good at preventing organic drift of build files. We have our own build system that kicks of nightly builds and handles configuration management tracking etc... We have not managed to use pluginbuilder for an RCP build (based on the p2 system for eclipse 3.4). Would this be a good list to send questions to? From what I can see of Buckminster, I don't think it would be useful for us. Anyway, pluginbuilder is great! Tom Wickham-Jones |
From: Markus B. <Mar...@gm...> - 2009-01-26 14:04:33
|
> We have not managed to use pluginbuilder for an > RCP build (based on the p2 system for eclipse 3.4). > Would this be a good list to send questions to? If you stumbled upon a specific issue a bug report would suite better I guess. If it is something more general, let's go on and discuss it here. Thanks Markus |
From: Werner S. (murphee) <wer...@gm...> - 2009-01-26 21:08:48
|
Markus Barchfeld wrote: >> We have not managed to use pluginbuilder for an >> RCP build (based on the p2 system for eclipse 3.4). >> Would this be a good list to send questions to? >> > If you stumbled upon a specific issue a bug report would suite better I guess. > If it is something more general, let's go on and discuss it here. > One question is: what's the level of p2 support in PluginBuilder 0.6.0? The release notes state that it's supported, but it's necessary to delete postBuild.xml. Also: as I understand p2, it's necessary to run the p2 Director task. Having PluginBuilder (or something - dare I suggest the PDE...) set up something that works would be great. (I tried for ages to get this right - but apparently one needs to be a Mensa member and infinite patience to get even the most trivial things to work with the PDE Build). murphee PS: I'd like to second the opinions already stated: PluginBuilder is a life saver - Thanks Markus B., also thanks for your old Developer Works Article on the PDE Build system which permitted me to get started with PDE Build before the age of PluginBuilder. Also: I'm surprised the PDE team would spoil their otherwise excellent tools with a mindblowingly ghastly blemish such as the undocumented torture instrument that is the PDE Build system (or at least it's configuration). |
From: Markus B. <Mar...@gm...> - 2009-01-29 09:58:57
|
> One question is: what's the level of p2 support in PluginBuilder 0.6.0? > The release notes state that it's supported, but it's necessary to > delete postBuild.xml. hm, as far is I remember the deletion of postBuild.xml was related to the pre-p2 update site. Pluginbuilder 0.6.0 does not support p2. But it is quite easy to create a p2 repository since the PDE provides a couple of p2 related properties: http://help.eclipse.org/stable/index.jsp?topic=/org.eclipse.platform.doc.isv/guide/p2_metadata_generator.html The properties are already included in the Pluginbuilder nightly and can be set via the Properties tab of the Pluginbuilder Editor. > > Also: as I understand p2, it's necessary to run the p2 Director task. > Having PluginBuilder (or something - dare I suggest the PDE...) set up > something that works would be great. Have a look at http://rcpsample-3-4.pluginbuilder.org/nightly/p2-updateSite/ which has been set up with the pluginbuilder nightly. Still unclear: how to set a category, https://sourceforge.net/forum/message.php?msg_id=6025032. > (I tried for ages to get this right - but apparently one needs to be a > Mensa member and infinite patience to get even the most trivial things > to work with the PDE Build). I would not blame PDE for that. I think it is intrinsic to all build related development because it takes so long to get feedback. That is the difference between developing code where you get immediate feedback from your test suites as opposed to developing build scripts where you have to wait minutes or even hours to see results. So, one of the principles of writing build scripts should be to make them as modular as possible and reduce time to feedback. For example it should be possible to re-run the tests without doing all the compilation steps before. Markus |
From: Werner S. (murphee) <wer...@gm...> - 2009-01-29 16:13:18
|
Markus Barchfeld wrote: > > hm, as far is I remember the deletion of postBuild.xml was related to > the pre-p2 update site. Ah yes (from the 0.6 release notes): "The target of this release is Eclipse 3.3. A user has reported that building with Eclipse 3.4 also works but postBuild.xml must be disabled (e.g. by renaming or deleting it)." > The properties are already included in the Pluginbuilder nightly and > can be set via the Properties tab of the Pluginbuilder Editor. > Have there been changes in the nightlies? I was watching the CVS for a while but there didn't seem to be significant modifications since 0.6? (Just wondering if I should move to a nightly update site). > Have a look at > http://rcpsample-3-4.pluginbuilder.org/nightly/p2-updateSite/ > which has been set up with the pluginbuilder nightly. > Still unclear: how to set a category, > https://sourceforge.net/forum/message.php?msg_id=6025032. > Yeah - I know. I sampled code from this and some other blogs, eg http://aniefer.blogspot.com/2008/06/example-headless-build-for-rcp-product.html helped me along, mostly by pointing out all the bugs that one needs to know about when dealing with p2 (eg. which config option not to use because it's broken, etc). But still - a tool that sets up all the different string identifiers and version numbers and whatnot in exactly the way p2 & friends expect would be great. (I spent ages on it - but any kind of approach of working with the PDE Build system (when working with a non-trivial RCP product) is marked by trying one combination, waiting 10 minutes for the build to grind to a halt and fails with "Java exited with error code -13" - or the alternative of watching the build unfold in the debugger, which isn't much more fun. I know the best way to do this would be to read and fully grok the PDE Build system, but I'd like to avoid a mind numbing task like that as long as I can. Mostly because I can't believe that's really the _only_ way to build plugins. >> (I tried for ages to get this right - but apparently one needs to be a >> Mensa member and infinite patience to get even the most trivial things >> to work with the PDE Build). >> > I would not blame PDE for that. I think it is intrinsic to all build > related development because it takes so long to get feedback. Weeeeell... the patience bit wasn't so much about the time it take to run the builds, but the patience it takes to even find out where to get started with the PDE Build system config. Imagine if there were no PDE editors/tools support and you had to figure out all the OSGi/plugin/extension/etc stuff on your own - or figure out that your plugin doesn't work because you haven't set up the right import statement here or there. These are all trivial with the PDE tools - but setting up a PDE Build means grokking every little nook/cranny of the system. Eg. Alex Blewitt's EclipseCon talk/slides gave me the first light bulb moment by explaining the architecture of the PDE Build system (ie. basically a kind of OOP/Module/Polymorphism built on Ant callback files). http://www.eclipsecon.org/2006/Sub.do?id=18 Etc. murphee |
From: Markus B. <Mar...@gm...> - 2009-02-02 08:27:50
|
>> The properties are already included in the Pluginbuilder nightly and >> can be set via the Properties tab of the Pluginbuilder Editor. >> > Have there been changes in the nightlies? I was watching the CVS for a > while but there didn't seem to be significant modifications since 0.6? > (Just wondering if I should move to a nightly update site). Not many. Apart from the p2 properties the emma.jar has been replaced due to a bug on 64 Bit Linux (IndexOutOufBoundException). And the usual smaller fixes. I should release it anyway. Markus |