BaptisteQuide / PackageDependenciesAnalysis
Monticello registration
About PackageDependenciesAnalysis
Package Dependencies Analysis
While developing, we often need to use external libraries. These dependencies should be expressed explicitly but we always forget to do it. This project is a tool that will analyze a Smalltalk project packages (source code) and detect references that are not resolved. It enables automatic dependency analysis to detect wrong project description (declared dependencies). The project also gives feedbacks on undesired package cycles. It works on Pharo 4.
How it works
To use the tool, you just need to give a set of packages at the beginning of the analyze. There are several types of dependency :
- Reference : explicit reference to a class of another package in a method
- Inheritance : class with a super class hosted in another package
- Trait : use of trait hosted in another package
- Extension : definition of an extension method for a class from another package
Exemple of uses
You can use the tool via the System Browser: select your packages, right click > Browse dependencies..., and a tree shows all the dependencies for the selected packages.
PDPackageAnalyzerWindowPackageDependencies system open.
open a UI that shows all the dependencies from the system packages, or choose your packages through the command line code:
(PDPackageAnalyzerWindow onPackagesNamed: #('Kernel' 'Collections-Abstract')) open.
contact : baptistequide@gmail.com
