SMInstaller (was re: [ANN] Seaside 2.02)

danielv at netvision.net.il danielv at netvision.net.il
Wed Jul 11 17:25:51 UTC 2001


That's the main problem I'd like to solve by having install be one
registered service of many that can handle packages. The design would
allow the user to choose the tool he wants, and have many installers
active for the same package.

Daniel

Avi Bryant <avi at beta4.com> wrote:
> 
> On Tue, 29 Oct 2002 goran.hultgren at bluefish.se wrote:
> 
> > > (I don't necessarily recommend updating through SqueakMap, though - better
> > > would be to file it in clean to a new image.  Need to get that
> > > SMDVSInstaller going...)
> >
> > Exactly! :-)
> 
> Looking at that again, I remembered what my other problem was with
> #canInstall:, that I forgot to mention in my last post - since DVS files
> are just .st, they get snapped up by the default installer before the DVS
> installer ever gets a chance...
> 
> What I've done before in similar situations is to do a leaf-first search,
> so that subclassing an existing installer (and adding narrower criteria)
> is feasible.
> 
> I propose the following change to SMInstaller class:
> 
> classForPackage: aPackage
> 	"Find the most specialized subclass that wants to handle the package."
> 
> 	self subclasses do:
> 		[:ea |
> 		(ea classForPackage: aPackage)
> 			ifNotNilDo: [:class | ^ class]].
> 
> 	^ (self canInstall: aPackage) ifTrue: [self]



More information about the Squeak-dev mailing list