Problems generating standalone IDE in MPS 2024.1.1

Hello,

I have JetBrains MPS 2024.1.1 and have gone through the “Shapes” tutorial.  I wanted to try to generate a standalone IDE for that language and have followed the instructions in https://www.jetbrains.com/help/mps/build-language.html.

I have got to the point where I am running the ShapesDistribution build script and I get the following error:

 

Sure enough, that directory does not exist, although it does exist in D:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2024.3\lib\jna

I even tried editing the buildDistribution.xml to remove the “tar” task, since I'm only interested in Windows, but I get:


BUILD FAILED
C:\Users\ctb\MPSProjects\Shapes\buildDistribution.xml:74: D:\Program Files\JetBrains\MPS 2024.1\bin\win does not exist.

 

Can anyone suggest how to get this working?

 

Thanks,

Carl

 

 

0
5 comments

You need to download the generic distribution of MPS (it contains native libraries for all supported platforms), unzip it and point the mps_home variable to its location. By default, when running generated Ant scripts MPS will set mps_home to point to the running (platform-specific) instance but this doesn't work when building a standalone IDE.

0

Hello.

Thanks for the reply.  Using the generic distribution I did manage to generate a standalone IDE, which I was able to use to create a solution using the Shape language.  However, when I try to build the solution, I get the following error:

 

21:07:46    : [GenPlanExtractor] Devkit jetbrains.mps.devkit.aspect.constraints has associated plan jetbrains.mps.lang.descriptor.constraintsAndMessages
21:07:46    : [InterpretedPlanProvider] Interpreted plan from node ConstraintsAndMessagesRulesPlan
21:07:47    : [InterpretedPlanProvider] Interpreted plan from node ConstraintsAndMessagesRulesPlan
21:07:47    : [GenPlanExtractor] Generation plan for model Shapes.constraints defined with an employed devkit
21:07:47    : [GenPlanExtractor] Devkit jetbrains.mps.devkit.aspect.structure has associated plan jetbrains.mps.lang.descriptor.structure@genplan
21:07:47    : [InterpretedPlanProvider] Interpreted plan from node LangStructurePlan
21:07:47    : [InterpretedPlanProvider] Interpreted plan from node LangStructurePlan
21:07:47    : [GenPlanExtractor] Generation plan for model Shapes.structure defined with an employed devkit
21:07:47    : [GenPlanExtractor] Devkit jetbrains.mps.devkit.aspect.typesystem has associated plan jetbrains.mps.lang.descriptor.typesystem@genplan
21:07:47    : [InterpretedPlanProvider] Interpreted plan from node LangTypesystemPlan
21:07:47    : [InterpretedPlanProvider] Interpreted plan from node LangTypesystemPlan
21:07:47    : [GenPlanExtractor] Generation plan for model Shapes.typesystem defined with an employed devkit
21:07:49    : [FileProcessor] Write for jar files is not supported. (right-click to see exception)
21:07:49    : [FileProcessor] Write for jar files is not supported. (right-click to see exception)
21:07:49    : [FileProcessor] Write for jar files is not supported. (right-click to see exception)
21:07:49    : [FileProcessor] Write for jar files is not supported. (right-click to see exception)
21:07:49    : [FileProcessor] Write for jar files is not supported. (right-click to see exception)
21:07:49    : [FileProcessor] Write for jar files is not supported. (right-click to see exception)
21:07:49    : [FileProcessor] Write for jar files is not supported. (right-click to see exception)
21:07:49    : [FileProcessor] Write for jar files is not supported. (right-click to see exception)
21:07:49    : [FileProcessor] Write for jar files is not supported. (right-click to see exception)
21:07:49    : [FileProcessor] Write for jar files is not supported. (right-click to see exception)
21:07:49    : [FileProcessor] Write for jar files is not supported. (right-click to see exception)
21:07:49    : [FileProcessor] Write for jar files is not supported. (right-click to see exception)
21:07:49    : [FileProcessor] Write for jar files is not supported. (right-click to see exception)
21:07:49    : [FileProcessor] Write for jar files is not supported. (right-click to see exception)
21:07:49    : [FileProcessor] Write for jar files is not supported. (right-click to see exception)
21:07:49    : [FileProcessor] Write for jar files is not supported. (right-click to see exception)
21:07:49    : [FileProcessor] Write for jar files is not supported. (right-click to see exception)
21:07:49    : [FileProcessor] Write for jar files is not supported. (right-click to see exception)
21:07:49    : [FileProcessor] Write for jar files is not supported. (right-click to see exception)
21:07:49    : [FileProcessor] Write for jar files is not supported. (right-click to see exception)
21:07:49    : [FileProcessor] Write for jar files is not supported. (right-click to see exception)
21:07:49    : [FileProcessor] Write for jar files is not supported. (right-click to see exception)
21:07:49    : [FileProcessor] Write for jar files is not supported. (right-click to see exception)
21:07:49    : [FileProcessor] Write for jar files is not supported. (right-click to see exception)
21:07:49    : [FileProcessor] Write for jar files is not supported. (right-click to see exception)
21:07:49    : [FileProcessor] Write for jar files is not supported. (right-click to see exception)
21:07:49    : [FileProcessor] Write for jar files is not supported. (right-click to see exception)
21:07:49    : [FileProcessor] Write for jar files is not supported. (right-click to see exception)
21:07:49    : [FileProcessor] Write for jar files is not supported. (right-click to see exception)
21:07:49    : [FileProcessor] Write for jar files is not supported. (right-click to see exception)
21:07:49    : [FileProcessor] Write for jar files is not supported. (right-click to see exception)
21:07:49    : [FileProcessor] Write for jar files is not supported. (right-click to see exception)
21:07:49    : [FileProcessor] Write for jar files is not supported. (right-click to see exception)
21:07:49    : [FileProcessor] Write for jar files is not supported. (right-click to see exception)
21:07:49    : [FileProcessor] Write for jar files is not supported. (right-click to see exception)
21:07:49    : [FileProcessor] Write for jar files is not supported. (right-click to see exception)
21:07:49    : [FileProcessor] Write for jar files is not supported. (right-click to see exception)
21:07:49    : [FileProcessor] Write for jar files is not supported. (right-click to see exception)
21:07:49    : [FileProcessor] Write for jar files is not supported. (right-click to see exception)
21:07:49    : [FileProcessor] Write for jar files is not supported. (right-click to see exception)
21:07:49    : [FileProcessor] Write for jar files is not supported. (right-click to see exception)
21:07:49    : [FileProcessor] Write for jar files is not supported. (right-click to see exception)
21:07:49    : [FileProcessor] Write for jar files is not supported. (right-click to see exception)
21:07:49    : [FileProcessor] Write for jar files is not supported. (right-click to see exception)
21:07:49    : [FileProcessor] Write for jar files is not supported. (right-click to see exception)
21:07:50    : [CoreMakeTask] "generate" target execution time: 3035 ms
21:07:50    : [CoreMakeTask] "textGen" target execution time: 350 ms
21:07:50    : [CoreMakeTask] Other targets execution time: 45 ms; reconcile: 17 ms, copyBinaries: 9 ms, compile: 8 ms, configure: 5 ms, cleanup: 3 ms, preloadModels: 3 ms, configure: 0 ms, copyTraceInfo: 0 ms, checkParameters: 0 ms, auxCompile: 0 ms, make: 0 ms

The exception for this is:

java.io.IOException: Write for jar files is not supported.
    at jetbrains.mps.vfs.iofs.jar.JarEntryFile.openOutputStream(JarEntryFile.java:224)
    at jetbrains.mps.internal.make.runtime.java.FileProcessor$FileContent.saveToFile(FileProcessor.java:98)
    at jetbrains.mps.internal.make.runtime.java.FileProcessor.flushChanges(FileProcessor.java:79)
    at j.m.make.facets//jetbrains.mps.lang.core.plugin.ModuleStaleFileManager.flushChanges(ModuleStaleFileManager.java:315)
    at j.m.make.facets//jetbrains.mps.lang.core.plugin.TextGen_Facet$Target_textGen$1.lambda$execute$4(TextGen_Facet.java:405)
    at com.intellij.openapi.application.WriteAction.lambda$runAndWait$2(WriteAction.java:114)
    at com.intellij.openapi.application.impl.RwLockHolder.runWriteAction(RwLockHolder.kt:364)
    at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:893)
    at com.intellij.openapi.application.WriteAction.compute(WriteAction.java:95)
    at com.intellij.openapi.application.WriteAction.lambda$computeAndWait$4(WriteAction.java:148)
    at com.intellij.openapi.application.WriteThread.lambda$submit$0(WriteThread.java:27)
    at com.intellij.openapi.application.WriteThread.lambda$submit$1(WriteThread.java:43)
    at com.intellij.util.concurrency.ContextRunnable.run(ContextRunnable.java:27)
    at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:209)
    at com.intellij.openapi.application.TransactionGuardImpl.access$100(TransactionGuardImpl.java:22)
    at com.intellij.openapi.application.TransactionGuardImpl$1.run(TransactionGuardImpl.java:191)
    at com.intellij.openapi.application.impl.RwLockHolder.runIntendedWriteActionOnCurrentThread(RwLockHolder.kt:204)
    at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:830)
    at com.intellij.openapi.application.impl.ApplicationImpl$2.run(ApplicationImpl.java:419)
    at com.intellij.openapi.application.impl.RwLockHolder.runWithEnabledImplicitRead(RwLockHolder.kt:138)
    at com.intellij.openapi.application.impl.RwLockHolder.runWithImplicitRead(RwLockHolder.kt:129)
    at com.intellij.openapi.application.impl.ApplicationImpl.runWithImplicitRead(ApplicationImpl.java:1152)
    at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:81)
    at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:123)
    at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:43)
    at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
    at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.kt:699)
    at com.intellij.ide.IdeEventQueue._dispatchEvent$lambda$12(IdeEventQueue.kt:593)
    at com.intellij.openapi.application.impl.RwLockHolder.runWithoutImplicitRead(RwLockHolder.kt:105)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:593)
    at com.intellij.ide.IdeEventQueue.access$_dispatchEvent(IdeEventQueue.kt:77)
    at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:362)
    at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:361)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:843)
    at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:361)
    at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:356)
    at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$1(IdeEventQueue.kt:1022)
    at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:114)
    at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:1022)
    at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$7(IdeEventQueue.kt:356)
    at com.intellij.openapi.application.impl.RwLockHolder.runIntendedWriteActionOnCurrentThread(RwLockHolder.kt:209)
    at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:830)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:398)
    at com.intellij.ide.IdeEventQueue.pumpEventsForHierarchy(IdeEventQueue.kt:735)
    at com.intellij.openapi.progress.util.ProgressWindow.lambda$startBlocking$4(ProgressWindow.java:231)
    at com.intellij.openapi.application.impl.RwLockHolder.runUnlockingIntendedWrite(RwLockHolder.kt:223)
    at com.intellij.openapi.application.impl.ApplicationImpl.runUnlockingIntendedWrite(ApplicationImpl.java:835)
    at com.intellij.openapi.progress.util.ProgressWindow.lambda$startBlocking$5(ProgressWindow.java:226)
    at com.intellij.openapi.progress.util.ProgressWindow.executeInModalContext(ProgressWindow.java:207)
    at com.intellij.openapi.progress.util.ProgressWindow.startBlocking(ProgressWindow.java:224)
    at com.intellij.openapi.progress.impl.ProgressRunner.lambda$execFromEDT$7(ProgressRunner.java:316)
    at java.base/java.util.concurrent.CompletableFuture.uniAcceptNow(CompletableFuture.java:757)
    at java.base/java.util.concurrent.CompletableFuture.uniAcceptStage(CompletableFuture.java:735)
    at java.base/java.util.concurrent.CompletableFuture.thenAccept(CompletableFuture.java:2214)
    at com.intellij.openapi.progress.impl.ProgressRunner.execFromEDT(ProgressRunner.java:313)
    at com.intellij.openapi.progress.impl.ProgressRunner.submit(ProgressRunner.java:253)
    at com.intellij.openapi.progress.impl.ProgressRunner.submitAndGet(ProgressRunner.java:194)
    at com.intellij.openapi.application.impl.ApplicationImpl.runProcessWithProgressSynchronously(ApplicationImpl.java:385)
    at com.intellij.openapi.progress.impl.CoreProgressManager.runProcessWithProgressSynchronously(CoreProgressManager.java:578)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcessWithProgressSynchronously(ProgressManagerImpl.java:104)
    at com.intellij.openapi.progress.impl.CoreProgressManager.run(CoreProgressManager.java:414)
    at jetbrains.mps.ide.make.WorkbenchMakeService.lambda$_doMake$2(WorkbenchMakeService.java:299)
    at com.intellij.util.concurrency.ContextRunnable.run(ContextRunnable.java:27)
    at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:209)
    at com.intellij.openapi.application.TransactionGuardImpl.access$100(TransactionGuardImpl.java:22)
    at com.intellij.openapi.application.TransactionGuardImpl$1.run(TransactionGuardImpl.java:191)
    at com.intellij.openapi.application.impl.RwLockHolder.runIntendedWriteActionOnCurrentThread(RwLockHolder.kt:204)
    at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:830)
    at com.intellij.openapi.application.impl.ApplicationImpl$2.run(ApplicationImpl.java:419)
    at com.intellij.openapi.application.impl.RwLockHolder.runWithEnabledImplicitRead(RwLockHolder.kt:138)
    at com.intellij.openapi.application.impl.RwLockHolder.runWithImplicitRead(RwLockHolder.kt:129)
    at com.intellij.openapi.application.impl.ApplicationImpl.runWithImplicitRead(ApplicationImpl.java:1152)
    at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:81)
    at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:123)
    at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:43)
    at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
    at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.kt:699)
    at com.intellij.ide.IdeEventQueue._dispatchEvent$lambda$12(IdeEventQueue.kt:593)
    at com.intellij.openapi.application.impl.RwLockHolder.runWithoutImplicitRead(RwLockHolder.kt:105)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:593)
    at com.intellij.ide.IdeEventQueue.access$_dispatchEvent(IdeEventQueue.kt:77)
    at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:362)
    at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:361)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:843)
    at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:361)
    at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:356)
    at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$1(IdeEventQueue.kt:1022)
    at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:106)
    at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:1022)
    at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$7(IdeEventQueue.kt:356)
    at com.intellij.openapi.application.impl.RwLockHolder.runIntendedWriteActionOnCurrentThread(RwLockHolder.kt:209)
    at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:830)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:398)
    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

Thanks,

Carl

 

0

I believe this indicates some kind of misconfiguration that's causing MPS to try to build modules that it has loaded from JARs. I don't know specifically what the problem could be though.

0

For example, you may have added the build/artifacts directory as a library to the project.

0

Hello,

I didn't think I had done anything like that.  However, I have created a new project in the “Shapes” IDE and it now appears to compile the Java.

But, I can't run the application within the IDE.  Under the “Run” menu, the “Run” item (Shift+F10) is greyed out.  The other “Run” item (Alt-Shift-F10) allows me to open the configuration window, but I can't seem to add anything

I don't know if there is an issue with how I have created the “Shapes” IDE or if there is a different problem.

 

Thanks,

Carl

0

Please sign in to leave a comment.