. .

smalltalk

Updating my Build Scripts

April 8, 2010 9:18:35.872

I have gone back to working on BottomFeeder a bit - I haven't pushed a 7.7 based release yet, and I figured I really ought to do that. So - I had to look at my build script, as there were a couple of interesting problems cropping up:

  • When my build started up, it still thought it was filing in the script
  • When my build started up, it was complaining about some missing source files

Neither is a good thing in the context of a runtime application :) So, I started pondering those, and redid the last part of my script, like this:


Parcel searchPathModel value: (List with: (PortableFilename named: '.')).
SourceFileManager default discardSources.

"Now save the image such that this file doesn't get looked for at startup"
[ObjectMemory permSaveAs: 'bottomFeeder' thenQuit: false] fork.
[(Delay forSeconds: 45) wait.
RuntimeSystem isRuntime ifFalse: [ObjectMemory quit]] fork

The first two lines clear the parcel search path (this is in case a VW user installs BottomFeeder - I don't need the app looking up parcels there). The second line simply discards all source pointer lookups, so that the system doesn't fuss about that at startup.

The next bit is trickier, but it's just a simpler version of what RuntimePackager does - Fork a process to save the image, and another to quit the current image. That way, the image that starts up doesn't immediately quit, and also doesn't try to save itself, or attempt to go find the filein. I've still got a lingering timing issue with saving files on quit, but that's unrelated to build stuff - once I get that sorted, I'll push a new release out.

Technorati Tags: ,

posted by James Robertson

Comments

Re: Updating my Build Scripts

[Steffen] April 8, 2010 10:26:08.225

I have run into similar problems and for me a shorter version of the last lines worked:

[ObjectMemory permSaveAs: 'bottomFeeder' thenQuit: true] fork.

Script ends here"

Re: Updating my Build Scripts

[anonymous] April 9, 2010 21:33:49.746

I have my entire build script in a block forkedAt: 51.

It ends with

ObjectMemory permSaveAs: 'bottomFeeder' thenQuit: true.

Jim Thompson

 Share Tweet This