Mantis - Squeak
Viewing Issue Advanced Details
7558 Monticello feature always 09-03-10 02:53 09-05-10 18:01
assigned trunk  
0007558: First-class Package comments
Discussed at [^] and [^]

09-04-10 06:43   
There is a package 'PackageInfo' which contains four classes

PackageInfo allInstances size 29
PackageList allInstances size 0
PackageOrganizer allInstances size 1
PackageServices allInstances size 0

The classes seem to be used? What is the function? They do not have class comments.
09-04-10 07:05   

explore "PackageOrganizer default packages"
09-04-10 13:01   
From: [^]

On 04.09.2010, at 07:53, Hannes Hirzel wrote:

> 1) How are the 29 PackageInfo instances currently used?

To gather info about which classes and methods are in a Monticello package. Also, to hold package load/unload scripts (which is a hack).

> How have they been created?

Typically by MCPackage>>packageInfo.

Or interactively. E.g. one can ask for all ToolBuilder classes even though ToolBuilder is 4 separate MC packages in trunk:

    (PackageInfo named: 'ToolBuilder') classes

> 2) What does the PackageOrganizer instance do?

It holds onto PackageInfo instances, so that after creating one you always get the same instance.

> Is it just used by the PackagePaneBrowser?

The PackagePaneBrowser has nothing to do with packages. It operates on class categories, not packages. I do not find it useful.

The only shipping browser showing packages is in Monticello, when you click "browse". Monticello has a separate registry:

    MCWorkingCopy allManagers collect: #package

- Bert -
09-05-10 18:00   
Note 1)

    MCWorkingCopy allManagers
gives an Array of MCWorkingCopy instances. It seems that this is the currently available 'packages information'. Is this correct?

Note 2)
An MCWorkingCopy instance holds an instance of MCWorkingAncestry. The ancestor information is hold in an Array of MCVersionInfo objects.
09-05-10 18:01   
The latest MCVersionInfo instance mentioned above has a method 'message' which gives access to the description put to this version when commiting.