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



2013/12/7 Frank Shearar <frank.shea...@gmail.com>

> On 7 December 2013 20:21, Hernán Morales Durand
> <hernan.mora...@gmail.com> wrote:
> > You could be interested in viewing some circular dependencies (red
> lines) in
> > Pharo 3 generated with GraphViz/PackageDependencies using
> > http://www.smalltalkhub.com/#!/~hernan/GraphViz
> >
> >
> https://drive.google.com/file/d/0B7XMfmjGRcXASHB1c2xLSFdLR2s/edit?usp=sharing
> >
> > downloaded with
> >
> > $ wget -O- get.pharo.org/30+vm | bash
>
> Cool! I suspect the graph shows just the cycles and the neighbours of
> packages involved in the cycles? Because I can't find any Kernel
> packages, and there are a bunch of packages that have "no"
> dependencies. All packages _must_ have a dependency on _something_,
> because all classes ultimately inherit from Object, which obviously
> sits in a package.
>
> frank
>
> > Cheers,
> >
> > Hernán
> >
>
>

Reply via email to