Add dependency handler for package installation
Dependencies are handled by looking for a package manifest file in the local package database. The manifest contains all the dependencies for a package, and a dependency graph is built from all of them. Then a topological sort is performed and an OrderMap (linked hash map) of package names in the order which they are to be installed in is returned. An OrderMap is used because it preserves the order of the packages and it has fast lookup times for checking duplicate packages.
Showing with 387 additions and 7 deletions