coolya / grammar-cookies

Example projects used in the grammar cookies episodes
0 stars 0 forks source link

Installation instruction needed #1

Open const opened 2 years ago

const commented 2 years ago

Expected Result: It is possible to download samples and use them for begginers in MPS.

Actual Result: Specific versions of grammarcells and MPS are not specified. Running and building steps are not specified. And these moments are hard to find on video, even if they present here. For grammarcells, it is better to specify a release, a tag or a commit number, so even if there are problems with the current version, it will be possible to get/build a last known good version.

I understand that these things might be obvous to the author. However, those who try tutorials are beginners. And they like me could be just are lost after starting tutorial. And as I understand versions of MPS and grammarcells are important because there are exceptions when using latest grammarcells and latests MPS. I would have downloaded/built specific version of MPS and grammarcell if I knew which one is needed.

coolya commented 2 years ago

These examples are deliberately kept super simple so that they do not depend on a specific version of MPS or grammar cells. They should work with any MPS version and grammar cells version that is compatible with that MPS version.

Installing grammar cells the market place should be enough.

When you open the project, and apply potential migrations, the example should work off the box. If they don't it is a problem with grammar cells. Most likely because grammar cells itself isn't compatible with that MPS version at that moment. I cannot track these kind of compatibility issues here.

I know this might be a frustrating answer to you but if it doesn't work with the latest version it is an ecosystem issue with MPS-extensions that needs fixing there.

I simply don't have the time to test and migrate these examples with every new MPS release. I must rely on the ecosystem to have a minimum of forward compatibility.

const commented 2 years ago

Note that plugin is not compatible with current MPS: https://plugins.jetbrains.com/plugin/13242-de-itemis-mps-grammarcells

On the page it says to me:

Not compatible with the version of your running IDE (IntelliJ IDEA 2021.3.2, MPS 2021.3)

I've would not have known that it exists if not for your reply, because it is just is not shown in the marketplace in MPS 2021.3.

FYI https://github.com/JetBrains/MPS-extensions/issues/508

There is also fails during model builds with wrap/optional, but because there are exception, I'm really suspects that this is a cause. When it will be fixed - unknown.

It was just a simple model with wrap/opitional created along your MetaL tutorial (similar context object + typed variables). MPS 2021.3 + mps-extensions current head. The grammarcells looks like it was compiled for 2021.1 (at least I've seend it during build), and than the grammarcells failed to build when added as library on MPS 2021.3.

For me, it is a blocker on the current combo, and I could just do trial and error process and unpredictable result, because I'm really do not understand what I'm doing yet. There might be my errors or environment errors. And the last known good combo would really helped, because it would have removed additional vairables from the picture.

const commented 2 years ago

I've tried the latest compatible version of MPS specified at the grammarcell plugin page (currently 2021.2.5). And everything worked ok for several days.

So the process of installation instructions should say something like the following:

  1. Go to the grammarcells plugin versions page: https://plugins.jetbrains.com/plugin/13242-de-itemis-mps-grammarcells/versions
  2. Check compatibility column, and install the latest MPS compatible with plugin. If you have installed and run some later versoin of MPS already, you might need to remove MPSxxxxxx directory from user settings before that (on Windows it is at C:\Users\username\AppData\Local\JetBrains\MPSxxxxxxx) .
  3. Install grammarcells plugin from markeplace and all other plugins that are asked by that plugin
  4. Open samples

Such instruction should save users from some fighting with incompatible versions. Possibly Heavy MetaL tutorial needs these hints as well.

const commented 2 years ago

And side note: the series page does not link optional tutorial yet: https://heavymeta.tv/grammar-cookies/