MPS has been searching gradually over several releases for the best way to approach explicit generation plans and cross-model generation. MPS 3.4 represents another substantial step in this direction. It brings two major enhancements:
- Debug information in checkpoint models
- Using DevKits to associate a generation plan
Debug information in checkpoint models
When a model is being generated following a generation plan, the content of mapping labels will be preserved during the plan’s checkpoints in so called checkpoint models.
These checkpoint models are visualized in the Project View and the user can inspect them and navigate to the nodes stored in the mapping labels. This can substantially help users debug issues in cross-model generation.
The checkpoint models are persisted, so unmodified models do not need to be generated each time depending models get re-generated.
Using DevKits to associate a generation plan
DevKits are used to wrap mutually related languages and solutions, which other solutions can then import as single units. DevKits can now additionally associate a generation plan from within its wrapped solutions.
Any model that imports that DevKit will get the DevKit’s associated generation plan applied to it automatically.
The Generation Plan documentation page summarizes the current situation in generation plans and cross-model generation fully and provides useful hints on how to implement generation plans and cross model generation on your projects.
You may also check out a video explaining the process of associating a generation plan with a DevKit.
The Drive to Develop
-JetBrains MPS Team