Cannot find used language dependency in build solution

Hi,
I try to export a language via build solution so that I can use it as IDEA plugin. This works like a charm with another (simple) language I created, but a more sophisticated one fails with this error:
"cannot find used language in dependencies: jetbrains.mps.lang.plugin.standalone"

Indeed is that one not listed in the solutions dependencies section (but in the model properties), only jetbrains.mps.lang.plugin. I've already added the jetbrains.mps.lang.plugin.standalone.jar from $mps_home/languages/workbench, but that doesn't help.

So where I can declare this dependency?

Best regards,
Jens
4 comments
Hi, Jens!

IntelliJ IDEA plug-in retains only the minimal (core) set of MPS functionality which is required for language users, not developers. To bundle a language for IntelliJ IDEA you have to constraint your dependencies by that reduced set of modules (see buildCore and buildCoreEx scripts for the full list).

Here are two quick rules:
  • modules with platform suffix (meaning IntelliJ IDEA platform) are bundled into the MPS Core plug-in
  • modules with workbench (or standalone) suffix are available only in the full MPS IDE distribution

Best,
Evgeny
0
Thanks Evgeny! I've already tried to remove the jetbrains.mps.lang.plugin.standalone dependency from language, but it can't be removed from plugin model. So I'll have to see if I could workaround this problem.

Best regards,
Jens
0
For module dependencies use "Analyze -> Analyze Dependencies" tool. In the upcoming 3.0 we added an ability to analyze "Used languages" as well.

Meanwhile, grep plugin.mps file for jetbrains.mps.lang.plugin.standalone.structure:
<import index="tgbt" modelUID="r:c70ee934-afb1-4c02-b6a9-1c4d1908a792(jetbrains.mps.lang.plugin.standalone.structure)" version="1" implicit="yes" />
Then grep for the index attribute value (tgbt), you'll find something like
<node type="tgbt.StandalonePluginDescriptor" ....
Now you can open the concept (Ctrl N -> StandalonePluginDescriptor) and search for its instances in the project.
0
Without the StandalonePluginDescriptor I can build and use the IDEA plugin :) Unfortunatle I have some functionality in the context menu (import a file, refactorings) which is not available now. Thats no surprise of course - but there is an IdeaPluginDescriptor(-Impl). May I use this to get the IDEA context menu options?

Best regards,
Jens
0

Please sign in to leave a comment.