Migration to MPS 3.2
Hi,
I had a few languages implemented using JetBrains MPS 3.1.5 (build 135.1462). Then I installed MPS 3.2 EAP1. I tried executing the migration scripts, but nothing seemed to be working. The problem is that now I am not able to open the files with neither MPS 3.2, nor MPS 3.1.5. It seems like all the projects have migrated to persistence version 9 (the one in MPS 3.2.), so they cannot be opened with MPS 3.1.5 anymore. On the other hand, MPS 3.2. does not read them correctly either.
Besides trying to make the languages from version 3.1.5 work in version 3.2, I also tried to build a new project in MPS 3.2, or run the project that you have on the documentation website (MigrationTest). They all seem to report the same sort of errors. The two most common ones are:
NoClassDefFoundError: jetbrains/mps/lang/structure/constraints/ConceptsScope
and
Argument for @NotNull parameter "conceptId" of jetbrains/mps/smodel/... must not be null
Given the fact that I am not able to run any kind of migration scripts, do you have any other tips on how I could make the languages from 3.1.5 work in 3.2? What is so different in MPS 3.2 that neither new projects with a language and a concept do not compile? Are there any mandatory features that these languages need to have in order to work?
At the same time, what is the conceptID? Do I understand well, it replaces the name property?
I am looking forward for any suggestions on how I could solve these issues.
Thank you in advance,
Ana.
I had a few languages implemented using JetBrains MPS 3.1.5 (build 135.1462). Then I installed MPS 3.2 EAP1. I tried executing the migration scripts, but nothing seemed to be working. The problem is that now I am not able to open the files with neither MPS 3.2, nor MPS 3.1.5. It seems like all the projects have migrated to persistence version 9 (the one in MPS 3.2.), so they cannot be opened with MPS 3.1.5 anymore. On the other hand, MPS 3.2. does not read them correctly either.
Besides trying to make the languages from version 3.1.5 work in version 3.2, I also tried to build a new project in MPS 3.2, or run the project that you have on the documentation website (MigrationTest). They all seem to report the same sort of errors. The two most common ones are:
NoClassDefFoundError: jetbrains/mps/lang/structure/constraints/ConceptsScope
and
Argument for @NotNull parameter "conceptId" of jetbrains/mps/smodel/... must not be null
Given the fact that I am not able to run any kind of migration scripts, do you have any other tips on how I could make the languages from 3.1.5 work in 3.2? What is so different in MPS 3.2 that neither new projects with a language and a concept do not compile? Are there any mandatory features that these languages need to have in order to work?
At the same time, what is the conceptID? Do I understand well, it replaces the name property?
I am looking forward for any suggestions on how I could solve these issues.
Thank you in advance,
Ana.
Please sign in to leave a comment.
I had similar problems with 3.2EAP and decided to wait for a new EAP.
Couple things I learned that could help you:
You need to remove all generated directories from your project
(sources_gen, sources_gen.caches, classes_gen) before you open MPS 3.2 EAP.
After you open MPS3.2EAP, disable all non-platform plugins and restart the
EAP. I found that this helped. After these steps, I was able to recompile
Editor2PDF and publish the 3.2 version of the plugin (
https://github.com/CampagneLaboratory/Editor2PDF, see branch 3.2).
If these steps do not help, and you do not have a copy of your non-migrated
3.1.5 project (a very bad idea IMHO, always backup before trying to upgrade
to an EAP), try the development version built from GitHub. It behaves much
better in my experience.
A process I would suggest before trying an EAP is to always branch your
project in source control, then test the EAP in the branch. Once the final
non EAP release of MPS is available, open another branch, do the migrations
and any changes you figured out you need in the EAP branches, and only then
merge with master.
This may seem like a lot of work, but it is a process we have used in the
past which is quite useful while you figure out what needs to change and
how migrations will affect your project.
Fabien
On Mon, Nov 24, 2014 at 6:54 AM, Ana - Meta Programming System <
jetforum@jetbrains.com> wrote:
--
Fabien Campagne, PhD – http://campagnelab.org
Assistant Professor, Dept. of Physiology and Biophysics
Institute for Computational Biomedicine
Associate Director, Biomedical Informatics Core,
Clinical Translational Science Center
Weill Medical College of Cornell University
phone: (646)-962-5613 1305 York Avenue
fax: (646)-962-0383 Box 140
New York, NY 10021
Learn about Data Analysis in a Language Workbench.
http://workbench.campagnelab.org
I indeed have a copy of my non-migrated code, but I wanted to make my languages work with the new version of MPS, namely 3.2. I thought that the migration to version 3.2 was troublesome due to some obvious reasons that I was missing. It seems not to be the case. In the meantime, I also decided to wait for the next EAP.
Ana.
I also have some troubles migrating from MPS 3.1.5 to 3.2. The situation is as follows:
So the question is: How can we migrate also my colleague's solution? This seems necessary because a migration script I wrote fails only in the old module.
Thank you very much in advance and kind regards,
LaAck