Hi Frank,
I just removed the Kernel from the package list on purpose because it would be confusing with too many lines around. Anyway you can include it if you like, this is the script to generate the graph:
| packages all allNames |
packages := #('AST' 'Announcements' 'AsmJit' 'Athens' 'Balloon' 'ClassOrganizer' 'CodeImport' 'Compiler' 'EventModel' 'FileSystem' 'Files' 'FreeType' 'Fuel' 'Gofer' 'HelpSystem' 'Keymapping' 'Manifest' 'Metacello' 'NECompletion' 'Ring' 'System' 'Text' 'Tools').
allNames := RPackageOrganizer default packageNames.
all := (packages collect: [: pkgName | allNames select: [ : pkg | pkg asString beginsWith: pkgName ] ] ) gather: [ : c | c ].
(PDGraphPackageAnalyzer onPackagesNamed: all) save: 'pharo-3.dot'.
A cycle (red) between two packages is shown when any kind of inheritance, reference or extension is found between.
Cheers,
Hern��n