[squeak-dev] Monticello and PackageInfo

David T. Lewis lewis at mail.msen.com
Wed Apr 3 23:36:20 UTC 2013


On Wed, Apr 03, 2013 at 05:55:14PM -0500, Chris Muller wrote:
> >> If I'm asking why a class should belong in two PackageInfos it's only
> >> fair I answer why it shouldn't:  Because by the PackageInfo domain
> >> model mirroring MC's model, they are able to work together better.
> >> For example, the use-case I cited previously was one-click building
> >> .sar packages (MaSarPackage on SqueakMap).  Utilities like that are
> >> much easier to build and maintain when the cardinalities between the
> >> models match.
> >
> > A class can belong to more than one Monticello package too.
> 
> By "belong to" I assume you mean "defined in".  Even still, "could"
> does mean "should".  Again, I ask for practical usage-scenarios where
> this is helpful -- in fact, you might start with why is it /not
> detrimental/?

My practical use case is that I have a package called OSProcess that I have
been maintaining for many years. The package can logically be split into a
number of sub-packages (OSProcess-Base, OSProcess-Unix, etc). At some point
in the past I managed to convince myself that it would be a good idea to
split OSProcess into sub-packages because I thought that this would be
"more modular". So I did that, and now I have lots of very modular looking
packages. But I also kept the original OSProcess package, because it turned
out that in real life nobody cared about the sub-packages, and it ended up
being a big pain to keep track of all the versions of sub-packages when most
people just wanted to load OSProcess, and for me maintaining the package the
only thing I cared about was "what version of OSProcess do you have installed
that is causing a problem."

In a perfect world, people would not make strategic blunders like this. But
I am not perfect, so now I have classes that are part of both the OSProcess
package and the OSProcess-Base package. I regret the mistake, but I am happy
that the tools do not prevent me from managing my way through its consequences.
For people who use OSProcess, nobody even seems to have noticed the mess. They
just load it from SqueakMap or ConfigurationOfOSProcess and something that
works gets installed.

So for me it is important that a class can belong to more than one package.

Dave



More information about the Squeak-dev mailing list