[squeak-dev] [Documentation] How do I use the PackageInfo class?
Chris Muller
ma.chris.m at gmail.com
Sun Aug 26 22:08:48 UTC 2018
On Fri, Aug 24, 2018 at 4:50 AM, H. Hirzel <hannes.hirzel at gmail.com> wrote:
> Hello Chris
Hi Hannes (sorry for the delay in replying, finally catching up),
> ... (snip)
> The wiki has a description of PackageInfo
> http://wiki.squeak.org/squeak/3329
>
> It says what a package is (= a collection of classes plus methods in
> categories marked with *theNameOfthePackage).
>
>
> On 8/18/18, Chris Muller <asqueaker at gmail.com> wrote:
>> We've had PackageInfo for eons which I've subclassed in my own apps
>> forever to override several documentative as well as functional
>> methods in there.
>> But there was never any interest (in fact,
>> resistance!) in doing that in this community.
>
> Probably years back. Now it seems to be different :-)
>
>> Glad to see y'all finally
>> opening up to the idea, but I see no reason to have a "PackageInfo"
>> AND a "PackageModel".
>
> So we need an example in the wiki how a subclass of PackageInfo should
> look like and which methods it should contain.
Avi's original version of PackageInfo class>>#initialize still makes a
reference to the possibility of subclasses. However, even though I
still have several stale subclasses of PackageInfo, I'm not sure we
should venture down this path afterall. I used to think it seemed
like a good place for package-level #license, #copyright and #readMe
information. At one point I think I even had #prerequisitePackages
which returned an Array of other package names which I thought I would
use for configuration, but never did.
After several years of meandering through that, I started thinking the
few things I was putting in my PackageInfo subclasses should simply be
combined into another pattern I was already compelled to use anyway --
one I refer to as the "World" pattern -- basically that every
application domain I create has a "root" object from which every
object in the application can be reached. This object is already
responsible for #domainVersion, deployment and runtime scripts, so I
decided that other #license and #readme stuff fits just as well (if
not better), there.
Best,
Chris
More information about the Squeak-dev
mailing list
|