Child pages
  • Migration20
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 14 Next »

After installing 2.0, users should perform the following steps to migrate their code to new format:
Warning!!! It is not possible to revert migrated models back to old format!

  1. To make virtual packages (folders) visible again 
    1. Tools -> Scripts -> By Language -> jetbrains.mps.lang.core -> Restore Virtual Packages
  2. To correct language and aspect dependencies on devkits
    1. open /bin/mps.vmoptions (or mps.exe.vmoptions on Windows)
    2. add a line "-Dmps.internal=true" to the end of the file
    3. save file and start MPS.
    4. execute tools-> internal -> Add Language Design Devkit To All Languages
    5. execute tools-> internal -> Add General Purpose Devkit to Language Models
    6. execute tools-> internal -> Remove Language Design Devkit from Models
    7. execute tools-> internal -> Remove BootstrapLanguages Devkit from Language Models
    8. execute tools-> internal -> Add Necessary ModuleDeps Everywhere
  3. To convert TabbedEditors in plugin aspects
    1. Tools-> Scripts-> By Language -> jetbrains.mps.lang.pugin -> split tabbed editors
    2. regenerate changed plugin models
  4. To convert attributes to the new format (usually in generators, quotations and patterns)
    1. Tools -> Scripts -> By Language -> jetbrains.mps.lang.core -> Convert Attributes
    2. Re-generate languages, then solutions
    3. If you have your own attribute descriptions (AnnotationLinkDeclaration instances) it will require manual migration for each attribute:
      1. Ensure attribute concept described in AnnotationLinkDeclaration (target) is subconcept of one of NodeAttribute, LinkAttribute or PropertyAttribute depending on the attribute stereotype
      2. Define role concept property in attribute concept as attribute role in AnnotationLinkDeclaration
      3. If sourceCardinality was * define multiple concept property in attribute concept
      4. Define attributed concept link from source in AnnotationLinkDeclaration
      5. Perform actions from steps 1 and 2 for migrated attributes
      6. For simple attributes (when they are direct subconcepts of BaseConcept) migration script is available



To migrate to the new trace information generation:

Scripts->By Language->jetbrains.mps.lang.plugin->Upgrade Trace Info Generation


To migrate to new stub refs

tools-> upgrade stubs-> update language accessories
save & restart
tools-> upgrade stubs-> re-resolve stub refs
save & restart
optimize imports
find all broken refs and fix them manually by adding necessary module deps

//--here we have correct refs. Restarts are not really necessary, but it's better to perform

regenerate all generators using quotations and node/xxx/ operation
regenerate all modules


Also migration script "remove wildcards from unbound params" should be applied.


to migrate to new intention instantiation - regenerate all intentions models
the same thing with find usages and refactorings aspects

  • No labels