Happy !

BaptisteQuide / PackageDependenciesAnalysis

Project infos

License MIT
Tags package, dependencies, analysis
Creation date 2014-05-21
Website

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