manuallly controlling dependencies, at least for SAR

Jeff Sparkes jsparkes at databeacon.com
Wed Nov 27 04:42:42 UTC 2002


If we had a function like:

SMSqueakMap class>>require: packageName
  | map card |
  map _ SMSqueakMap default.
  card _ map cardWithName: packageName.
  map installedPackages includes: c ifFalse: [
    map installPackageNamed: c name].

Then in a SAR preamble, you could just do:
  SMSqueakMap require: 'PackageInfo'.

A method that also checks the version using installVersionOf: is pretty easy
too.

This means a SAR package can explcitly state their dependencies without requiring changes to the SqueakMap database.  I guess Avi could add something to PackageInfo that keeps track of dependencies, and puts the checks at the beginning of the .st file that DVS generates.  Hopefully not too many change set installs will have dependencies.  I'm not about any other install types.

BTW, my prototype of the above ran into problems using installPackageNamed: and "(SMInstaller classForPackage: card) install".  I can send stack traces, but it's pretty easy to reproduce.



More information about the Squeak-dev mailing list