>Battling the Demon in the Night.

>I’ve had a battle with a Level 32 “non-repeating phantasm, a class-5 free roaming vapor, real nasty one too.” In other words I’ve been having some fun getting a PDE product build running. I’ve been struggling with PDE product builds for a couple of years, some ugly monster from the netherworld always crops up.

The difficulty wasn’t with getting the build going, thanks to this article. Once I had everything configure correctly, it was a snap to get a headless product build running. The difficulty came in just getting the .product file configure correctly. In the past I had used a Plugin Build for products. Unfortunately this ment I had to get all of the plugins added to the product configuration. As I’m doing a variation of the Eclipse IDE but for XML development, this ment several thousand plugins needed to be added. Not something that is much fun to do.

So, I looked into doing a feature build. Should be pretty straight forward right? Add the features you depend on, and launch the export/build. Wrong! I should know better than that by now.

Unfortunately, if you don’t add just the right features, PDE Build gets confused. It has difficulty figuring out what you actually need. What makes it even more fun is that PDE will suggest versions of features that can’t be resolved. So what is the solution. Take an Agile/Iterative approach to getting a build to work. Or if you want to call it what it is….trial and error.

Because of the weird dependencies that can occur, start small with your product build. Add only the very bare bone minimum that you need. Export that configuration, if it builds correctly, synch the .product file to your repository. Next add the next piece. If there are errors, fix them.

Some weird gotchas that can occur. Depending on your target platform, you may see multiple versions of features that are available. Try to select the most current feature (i.e the most recent). Also don’t add more than what is actually required or specified that couldn’t be found by the export function. Doing so will cause you more hair pulling, and let the “slimer” pde ghost win.

PDE product export and build can work, but it’s a finky monster. Make sure you have a good twenty-sided die, and a +2 broadsword with you. It might also help to have a proton pack along just in case.

This entry was posted in build, eclipse, pde. Bookmark the permalink.

4 Responses to >Battling the Demon in the Night.

  1. Lars says:

    >Hi David,it is good to hear that my tutorial was of help. In regards to p2 build: I enjoy the fact that p2 fetches now the the plugins for me. It is so much easier then in pre Eclipse 3.5 days where you had to create the directory structure myself which in my opinion more error prone then the confusion PDE Build has created for you. javascript:void(0)Best regards, Lars

  2. David Carver says:

    >@Lars, yeah. I noticed that with P2 and PDE you can setup a target platform to be provisioned from update sites. I may need to look at this as well to see if it can help eliminate or at least ease the pain. The problem is that it too me a half day of trial and error to get the product file setup correctly. A half day that I lost that could have been spent working on code.

  3. >It seems the hard part here was not how to build, but rather figuring out what to build.This problem of "what" is not easy, and has always been the input to PDE/Build (not something that build could help you with). Now that we have p2, it is easier to imagine additional tooling to help with this.

  4. David Carver says:

    >@Andrew you are correct, it was figuring out What features I acutally needed to ad. Not everything that was needed was picked up by the discovery mechanism, thus causing the trial and error routine to get a working configuration.The frustrating part is that I couldn't just specify a version range for features, it had to be a particular version number of a feature. Which means going from 3.5 to 3.6 of eclipse or even e4 is going to be a lot more trial and error.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s