Changes regarding packages and package tags in Pharo 12
In Pharo 11 classes had a category that was the package name plus the package tag. A package organized was keeping the list of packages and a mapping between the class name and package.
GtIdentity category
In Pharo 12 there are explicit package and package tag objects. A class has a package tag and the package tag has the package. The package tag contains the list of classes and the page just thas a list of package tags.
GtIdentity package
GtIdentity packageTag
The package organizer maintains a dictionary by name with all packages.
In Pharo 12 all classes have a packageTag. By default it is an Uncategorized
package tag.
The undefined package tag is considered the root package tag (PackageTag>>#isRoot
).
In Pharo 11 a tag is root if it has the same name as the package.
In Pharo 12 a tag is root if it has the Undefined
name
For backwards compatibility RGClassDefinition>>#category
and Class>>#category
return the class category in Pharo 12 same as in Pharo 11. If there is an undefined root package it is not included in the definition.
{ GtIdentity category. GtIdentity asClassDefinition category }