Plugin "MPS Testing" will not load, version incompatible

(sorry for posting this twice, I posted on the issue tracker first then realized my problem is probably better suiter for the community forum)

I'm trying to build a standalone IDE for my language. I need support for Executions, so I added the mpsExecutionsPlugin to my build. When I try to run run built IDE, the Plugin failed to load, saying it dependes on the "MPS Testing" Plugin. So I added this plugin as well, overall the releavant parts of my build configuration look like this:

dependencies:
mpsStandalone (artifacts location $mps_home)
mpsMakePlugin (artifacts location $mps_home/plugins)
mpsVcs (artifacts location $mps_home/plugins)
mpsExecutionPlugin (artifacts location $mps_home/plugins)
mpsDebuggerPlugin (artifacts location $mps_home/plugins)
mpsTesting (artifacts location $mps_home/plugins)

default layout:
folder plugins
import mpsVcs::git4idea
import mpsStandalone::plugins/mps-core
import mpsMakePlugin::mps-make
import mpsDebuggerPlugin::mps-debugger-api
import mpsDebuggerPlugin::mps-execution-api
import mpsDebuggerPlugin::mps-debugger-java
import mpsTesting::mps-testing
import mpsExecutionPlugin::mps-execution-configurations
import mpsExecutionPlugin::mps-execution-languages

 

When I run the IDE, the following error shows up the Event Log:

Plugin Error
Problems found loading plugins:
Plugin "Execution Languages" was not loaded: required plugin "MPS Testing" not installed.
Plugin "Execution Configurations" was not loaded: required plugin "MPS Testing" not installed.

In the plugin manager, next to the "MPS Testing" entry it says "Incompatible with the current <my IDE name> version".

I have tried a couple of things, even set my own IDE version to 183.4, even that did not work.

3 comments
Comment actions Permalink

Update with my own findings:

I was able to force mpsTesting to load by manually removing the <idea-version> line from the plugin.xml file in the build. This however, did not result in any option to run a Node (based on IMainClass concept) in the standalone IDE. Note that it works fine for the concepts inside the sandbox solution within MPS.

Thinking there might be something else missing I copied all jars from the plugin and lib folders of MPS into my IDE directory, this did not help though.

The tutorial Building standalone IDEs for your languages also suggests adding mpsExecutionPlugin and mpsDebuggerPlugin and I followed it carefully with the Kajak sample, this however also just resultet in an error about the missing dependency mpsTesting in the generated IDE.

I'm starting to think that support for executions in standalone IDEs was dropped at some point. Alternatives for my situation are probably either shipping a MPS plugin instead of a standalone IDE and creating a standalone tool to run the generated code to use besides the IDE.

0
Comment actions Permalink

Thanks to something I found on the MPS Slack group I was finally able to fix this: What's needed to make the plugin run is simply a build.txt file in the IDEs root directory. This can be achieved by including the line "inport mps::build.txt" directly unter "default layout" in the build script.

1
Comment actions Permalink

Philip Frank, thank you a lot for the information. It's like a treasure among outdated and imprecise information! =)

I added "dependencies" as stated in https://www.jetbrains.com/help/mps/building-standalone-ides-for-your-languages.html#editingthebuildscripts 

But also I need to add these dependencies: mpsMakePlugin, mpsBuild, mpsTesting

But it's not enough. As you said, we should add "import mps::build.txt" in the "default layout" section.

Also, we need define imports for "folder plugin" section:

And this solution is really works for me.

0

Please sign in to leave a comment.