Problem building MPS plugin with dependencies

This may have a simple solution, but I do not find it.

I am trying to build an MPS plugin of a language that works well within MPS. It has a dependency on de.slisson.mps.editor.multiline, which is installed and enabled in my MPS.

When I create the build script, I get the error message “cannot find used language in dependencies de.slisson.mps.editor.multiline”.

Sure enough, it is not among the dependencies. However, I cannot add it to the dependencies as it does not appear in the context menu. I tried to put it inside <depends>de.slisson.mps.editor.multiline</depends>, but this does not make any difference.

It seems there are two dependencies to be handled:
(a) the dependency during the build process such that the generated code can refer to the dependent plugin, and
(b) the dependency that should exist for the final plugin when it is installed into MPS.

There are two lists of dependencies in the build file: one before the project structure and one within the project structure.
It seems to me that the one within is the external one that is published for the plugin, while the one before is the information how the build is to be done.

How can I add the dependency to the build script?
How can I move the multiline plugin to the build environment?


de.slisson.mps.editor.multiline does not contain the build script that is used to build the multiline plugin, so you cannot express a dependency in your build script on that plugin definition. I'm afraid, you'll have to open the mps-extensions project (sources) in another MPS window in order to bring the de.slisson.mps.editor.multiline build script to sight of your build script.




Facing a "Problem building MPS plugin with dependencies" is a common challenge for developers working with JetBrains' Meta Programming System (MPS). This issue often arises due to conflicts or missing libraries required for the plugin to function correctly. To resolve it, ensure all dependencies are correctly declared in the build script and that the project configuration aligns with the required versions. Consulting documentation and community forums can provide additional insights. Printed tote bags with the slogan "Build Smart: Troubleshoot MPS Dependencies" can be useful reminders for developers, emphasizing the importance of meticulous dependency management and fostering a community of shared problem-solving.


Please sign in to leave a comment.