Send to Printer

smalltalk

Build Automation

March 8, 2011 10:39:22.111

I've been continuing to work on build automation, because I've also been asked to refactor the package/bundle structure we use here (in order to create a cleaner separation between the various deliverables we produce out of the codebase). 

I've talked about the tools I've built for this before; what I did more recently was take the GUI focused tool I built and made it scriptable.  So instead of a few menu picks, listbox selections and button presses, it's now more like this:

 

BuildTool 
	generateFor: logicalName
	useSmartBundle: aBoolean 
	version: versionString 
	startWithImage: imageName

 

And that can be fired off via a batch file (this is Windows) - and that in turn could be automated via higher level tools - maybe I'll start investigating something like Hudson. It's coming together pretty nicely, and I can now kick off a complete build, starting from a base visual.im, and within 15 minutes have a development image and a runtime, ready to go.

posted by James Robertson

Comments

Re: Build Automation

[Tom K] March 8, 2011 10:58:47.081

I'm doing similar kinds of things with VA Smalltalk. It was a great help during our recent migration to a newer version of the product, as I was building both packaged and development images, all being triggered by Hudson (now Jenkins). You'll run into some fun once you decide to create a dedicated Jenkins box. Since you'll need to have Jenkins running as a service, you'll have to have it running as an account with network access. It gets even better if you have to trigger builds on other machines, such as Unix boxes.

Re: Build Automation

[Henry] March 10, 2011 18:46:02.749

Don't forget having tests automatically run/reported :)

Lukas' build tools contain an implementation of outputting to Junit xml you might find useful:

(In Pharo)

Gofer new

renggli: 'hudson';

package: 'HudsonBuildTools';

load.

 Share Tweet This