On Tue, Jan 22, 2013 at 09:15:32AM -0800, Sean P. DeNigris wrote:
David T. Lewis wrote
I am trying to find a way to make OSProcess... work on Pharo 2.0, Pharo1.x, and the various versions of Squeak and Cuis
I've been thinking a lot about keeping OSP working well on all our favorite St platforms. Metacello was designed specifically to address this type of problem, which I'm sure will multiply as squeak and pharo evolve. I wonder if MetaC works with Cuis... If not, and for older versions of Squeak/Pharo, there could be a Gofer/Installer script like the one for FFI, or - easier for users but maybe a little more work - the multiple packages could be loaded in each supported platform and re-commited as a single platform-specific package e.g. OSProcessSqueak44, OSProcessPharo20; so development would be done w. MetaC, and users can simply download one package. This would also free us from the branching that currently exists to figure out which system we're on. Are you open to committing to the multiple-package path going forward and relying on MetaC to manage these incompatibilities?
Metacello will certainly handle this, and I certainly don't mind as long as I don't get stuck doing the maintenance chores for all the different images. I don't want to do Metacello configs for Squeak (because it is not necessary) or Cuis (I don't know if it is possible and I don't have the time), but it would be a good approach to support the more rapid rate of change in Pharo. My first preference would be to have the OSProcess package be clever enough to adapt to the various image variations, but that may not be feasible if the images get too different. Maybe we are at that point now, in which case maintaining Metacello configurations for Pharo 2.0, 1.4, etc would be the right thing to do. Dave