MPS 2018.2: Generator Tests, GitHub Plugin, VCS Aspect, Migration Notifications, and More

    Recently a new version of MPS 2018.2 has been released with many long-awaited changes . In short, in this release you are waiting for improvements in migration, new generation plans, GitHub-plugin and more. Details below.

    image

    Migration

    notifications We implemented migration notifications to better inform you about what is happening: you will now receive a notification if the project depends on a language that cannot be downloaded for any reason, or if the migration is postponed.

    image

    New aspect of VCS

    We have added a new aspect of the VCS language. Now, instead of creating annotations for the concept declaration, an aspect of the language is created. An aspect is generated for a specific runtime code. The VCS aspect replaces the MergeHints annotation, migration is provided.

    Before:

    image

    Now:

    image

    GitHub Plugin

    Implemented GitHub plugin. Now you can log in to GitHub as follows: VCS → Checkout from Version Control → Git → Log in to GitHub ...

    image

    Generator tests

    In addition to the existing test family for nodes and the editor, we have implemented a new method for testing generators. The task is to confirm that the generator or set of generators really do their job. The IDE supports execution modes both inside and outside the process, as well as execution from MPS Ant build scripts.

    image

    Branches in generation plans

    A new operator appeared in the generation plans: fork with. It forks a sequence of transformations at a given point. The model is transferred to the specified plan in the state in which it was at the branch step, then the transformation is performed as usual. In the above example, the input model is first transformed with the crossmodel.entity generator and the state is written, then using the crossmodel.property generator # prop2class, model No. 1 is finally obtained. Then the crossmodel.property # prop2xml generator converts the recorded model into output model # 2. Note that the word “then” here does not indicate a commitment — there is no guarantee that the branches will be processed in any particular order, except that the “main” branch of the original plan will produce the “first and only” output model,

    image

    Branches in generation

    tests Generator tests support generation plans with the fork operator and compare all output models with the provided source ones.

    image

    These and other features of MPS 2018.2 are described in more detail on the What's New page , you can download the new version here .

    We try to make MPS even better every day, and your feedback helps us a lot. Always waiting for your comments here or in the tracker .

    Your Team JetBrains MPS
    The Drive to Develop

    Also popular now: