Child pages
  • What's new in MPS 2.5 M1

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


The interactive report, shown in a panel at the bottom, allows the user to view usages of modules by other modules. The panel on the right side displays modules and models dependent on the module selected in the left-hand side list.

Module Dependencies Tool

With this tool it is possible The Module Dependencies Tool allows the user to overview all the dependencies and used languages of a module ( or a set of modules) dependencies and used languages, to detect potential cyclic dependencies as well as to see in details detailed paths that lead to form the given dependencydependencies. The tool can be invoked from the project pane when one or more modules are selected there.

Module Dependency Tool shows in the left panel all shows all transitive dependencies of module and optionally all used (the modules in the left panel. Optionally it can also display all directly or indirectly ) used languages. It is possible to expand any dependency node and get all dependencies of the expanded node as children. These will again be again transitive dependency dependencies, but this time for the expanded node.

Select one or more of the dependency nodes or set of nodes in the left panel. Right The right panel shows will show paths to each of the each selected module modules from its "parent" module. You can see a brief explanation of each relation between modules in the right tree. It The types of dependencies can be one of: depends on, uses language, exports runtime, uses devkit, etc. For convinience the name of the target dependent module is shown in bold.


There are two types of dependency paths: Dependency and Used Language. When you select a module in the Used Language folder in the left tree, the right tree shows only the dependency paths making "that introduce the used language" relation for the given module. To show "ordinary" dependencies on a language as a module, you should choose select it out outside of the Used Languages folder (like e.g. the jetbrains.mps.lang.core language in the picture below). It is also possible to select several multiple nodes (e.g. the same language dependency both inside and outside of the Used Language folder), then . In that case you get a union of results for both paths.

If you want to track not only "visible" but also runtime dependencies you should check "runtime" option in toolbar. Only runtime dependencies are marked with "(runtime)" comment in the left tree.