Include arbitrary languages in a standalone distribution

Hi all,

we would like to include Languages (jetbrains.mps.baseLanguage.regexp at this time, others in the future) in our standalone MPS distribution, regardless if any of our Languages depend on them or not. Is this possible?

Many thanks in advance,
Comment actions Permalink


I'm eager to know the same thing!

I am using MPS 3.3

For example, I've created test language "MigTest" that extends "baseLanguage":

First problem is when my "sandbox" solution imports "MigTest" as "used language" - it does not inherit neither "baseLanguage", nor "JDK" solution.

What is the point of the "export" checkbox? And why "extended" languages can't be imported by default?

Second problem is that when I create "Build solution" with "Standalone IDE" target - it produces three valid packages. But when I unpack "win" zip and launch standalone IDE it doesn't have "baseLanguage" at all.

In my standalone IDE I've create new "solution project" (the way user would use my exported language) and pictures show how there's just no option to import "baseLanguage":

How can I include "baseLanguage" and any other languages that I want into standalone IDE build?

Thanks in advance.

Comment actions Permalink

Ok, so I was able to include baseLanguage and other required languages into my distribution.

I've noticed that many plugins contain parts of base language inside their package, so I did this:

folder plugins
  import mpsStandalone::plugins/svn4idea
  import mpsStandalone::plugins/cvsIntegration
  import mpsStandalone::plugins/git4idea
  import mpsStandalone::plugins/mps-core
  folder mps-build
    files from $mps_home/plugins/mps-build
  plugin MigTest
    folder languages
      folder baseLanguage
        files from $mps_home/languages/baseLanguage

This way "build" language and "baseLanguage" are included right inside the distribution package of my language.
But I'm still unsertain whether it is the right "conventional" way to achieve the result.

And there's still an issue I can't resolve: create standalone IDE doesn't provide functionality to rebuild solutions.
There's just no visible functionality to perform rebuild:

And "Build" menu is empty:

This part seems the most weird to me, since I thought building solutions (effectively - compiling custom languages into sources of some kind) is the cornerstone functionality of the MPS system, otherwise what's the point of writing anything in the custom language?

Does anyone know what do I do wrong? And how can I get standalone IDE to allow solution rebuilds?

Thanks in advance!


Please sign in to leave a comment.