. .

smalltalk

Building Clean

January 6, 2011 14:08:00.604

Before you can even get to building a runtime image from a clean base image, you have to get to the point where yoiu can build a clean development image from a clean base image. That was today's first challenge.

On any long lived project, things pile up if no one has been doing clean builds, and this one was no different. It wasn't bad - I only ran into one issue that needed resolving: four methods in one package were being invoked (via package initialization code), but those methods were defined in a package that hadn't loaded yet.

To back up a bit, the entire project here is in a "master bundle" - you load that, and you get everything (either in the bundle or via pre-reqs). Over the last little while, builds have only been done on top of previous development images, so no one spotted this issue. I cleaned that up, and then everything came in easily.

Next up was trying to save the bundle out as a parcel (I'd like to be able to build into an image without Store present). Now I ran into the second check: a bunch of external interfaces were defined with optimization level #debug, and parcels can't be saved with that setting. So... another bunch of small changes and bam - I had a parcel out on disk.

Now comes the fun part - one of the pre-reqs is all of the patch sets that Cincom support sends out (boy, would this be simpler if they just shipped new versions of the owning packages, but I digress). That stuff can't be saved (at least in VW 7.6) as a parcel, because they all contain overrides. So... I just filed that out. Since it's all patches on the base system, I can just set that up to load last and I shouldn't run into problems.

Thus far, I have the system loading cleanly from a base visual.im, which is progress. From there, I can move along to the next few steps and see if I can get a runtime build. Fingers crossed :)

posted by James Robertson

 Share Tweet This