IntelliJ plugin fails to load languages on OSX
The IntelliJ plugin fails to load languages on OSX, probably due to a URI encoding bug. This is the stracktrace that is produced when opening a language specification project that uses ESV:
org.apache.commons.vfs2.FileSystemException: Could not replicate "file:///Users/gohla/Library/Application%252520Support/IdeaIC15/org.metaborg.intellij/classes/languages/org.metaborg.meta.lang.esv-2.0.0-SNAPSHOT.spoofax-language" as it does not exist. org.metaborg.core.MetaborgRuntimeException: org.apache.commons.vfs2.FileSystemException: Could not replicate "file:///Users/gohla/Library/Application%252520Support/IdeaIC15/org.metaborg.intellij/classes/languages/org.metaborg.meta.lang.esv-2.0.0-SNAPSHOT.spoofax-language" as it does not exist. at org.metaborg.core.resource.ResourceService.resolve(ResourceService.java:81) at org.metaborg.intellij.discovery.ResourceLanguageSource.find(ResourceLanguageSource.java:64) at org.metaborg.intellij.discovery.MultiLanguageSource.find(MultiLanguageSource.java:60) at org.metaborg.intellij.languages.DefaultLanguageManager.discover(DefaultLanguageManager.java:81) at org.metaborg.intellij.languages.DefaultLanguageManager.discoverRange(DefaultLanguageManager.java:144) at org.metaborg.intellij.idea.configuration.ConfigurationUtils.loadAndActivateLanguagesInternal(ConfigurationUtils.java:73) at org.metaborg.intellij.idea.configuration.ConfigurationUtils.lambda$loadAndActivateLanguages$10(ConfigurationUtils.java:55) at org.metaborg.intellij.idea.configuration.ConfigurationUtils$$Lambda$4/1203396144.run(Unknown Source) at com.intellij.openapi.command.WriteCommandAction$4.run(WriteCommandAction.java:181) at com.intellij.openapi.command.WriteCommandAction$Simple.run(WriteCommandAction.java:166) at com.intellij.openapi.application.RunResult.run(RunResult.java:35) at com.intellij.openapi.command.WriteCommandAction$2$1.run(WriteCommandAction.java:114) at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:1010) at com.intellij.openapi.command.WriteCommandAction$2.run(WriteCommandAction.java:111) at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:124) at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:99) at com.intellij.openapi.command.WriteCommandAction.performWriteCommandAction(WriteCommandAction.java:108) at com.intellij.openapi.command.WriteCommandAction.execute(WriteCommandAction.java:80) at com.intellij.openapi.command.WriteCommandAction.runWriteCommandAction(WriteCommandAction.java:183) at com.intellij.openapi.command.WriteCommandAction.runWriteCommandAction(WriteCommandAction.java:173) at org.metaborg.intellij.idea.configuration.ConfigurationUtils.loadAndActivateLanguages(ConfigurationUtils.java:54) at org.metaborg.intellij.idea.IdeaModuleComponent.projectOpened(IdeaModuleComponent.java:110) at com.intellij.openapi.module.impl.ModuleImpl.projectOpened(ModuleImpl.java:170) at com.intellij.openapi.module.impl.ModuleManagerImpl$ModuleModelImpl.projectOpened(ModuleManagerImpl.java:905) at com.intellij.openapi.module.impl.ModuleManagerImpl.projectOpened(ModuleManagerImpl.java:585) at com.intellij.openapi.project.impl.ProjectImpl.projectOpened(ProjectImpl.java:400) at com.intellij.openapi.project.impl.ProjectImpl.access$200(ProjectImpl.java:63) at com.intellij.openapi.project.impl.ProjectImpl$MyProjectManagerListener.projectOpened(ProjectImpl.java:434) at com.intellij.openapi.project.impl.ProjectManagerImpl$1.projectOpened(ProjectManagerImpl.java:98) at com.intellij.openapi.project.impl.ProjectManagerImpl.fireProjectOpened(ProjectManagerImpl.java:721) at com.intellij.openapi.project.impl.ProjectManagerImpl.openProject(ProjectManagerImpl.java:352) at com.intellij.openapi.project.impl.ProjectManagerImpl.loadAndOpenProject(ProjectManagerImpl.java:467) at com.intellij.ide.impl.ProjectUtil.openProject(ProjectUtil.java:182) at com.intellij.ide.RecentProjectsManagerImpl.doOpenProject(RecentProjectsManagerImpl.java:46) at com.intellij.ide.RecentProjectsManagerBase.doReopenLastProject(RecentProjectsManagerBase.java:554) at com.intellij.ide.RecentProjectsManagerBase$MyAppLifecycleListener.appStarting(RecentProjectsManagerBase.java:588) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) at com.intellij.util.messages.impl.MessageBusConnectionImpl.deliverMessage(MessageBusConnectionImpl.java:116) at com.intellij.util.messages.impl.MessageBusImpl.doPumpMessages(MessageBusImpl.java:368) at com.intellij.util.messages.impl.MessageBusImpl.pumpMessages(MessageBusImpl.java:355) at com.intellij.util.messages.impl.MessageBusImpl.sendMessage(MessageBusImpl.java:334) at com.intellij.util.messages.impl.MessageBusImpl.access$200(MessageBusImpl.java:42) at com.intellij.util.messages.impl.MessageBusImpl$2.invoke(MessageBusImpl.java:223) at com.sun.proxy.$Proxy68.appStarting(Unknown Source) at com.intellij.idea.IdeaApplication$IdeStarter$2.run(IdeaApplication.java:354) at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.runNextEvent(LaterInvocator.java:337) at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:321) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:744) at java.awt.EventQueue.access$400(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:697) at java.awt.EventQueue$3.run(EventQueue.java:691) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75) at java.awt.EventQueue.dispatchEvent(EventQueue.java:714) at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:866) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:654) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:381) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) Caused by: org.apache.commons.vfs2.FileSystemException: Could not replicate "file:///Users/gohla/Library/Application%252520Support/IdeaIC15/org.metaborg.intellij/classes/languages/org.metaborg.meta.lang.esv-2.0.0-SNAPSHOT.spoofax-language" as it does not exist. at org.apache.commons.vfs2.provider.AbstractFileSystem.replicateFile(AbstractFileSystem.java:418) at org.apache.commons.vfs2.provider.zip.ZipFileSystem.<init>(ZipFileSystem.java:61) at org.apache.commons.vfs2.provider.zip.ZipFileProvider.doCreateFileSystem(ZipFileProvider.java:76) at org.apache.commons.vfs2.provider.AbstractLayeredFileProvider.createFileSystem(AbstractLayeredFileProvider.java:89) at org.apache.commons.vfs2.provider.AbstractLayeredFileProvider.findFile(AbstractLayeredFileProvider.java:63) at org.apache.commons.vfs2.impl.DefaultFileSystemManager.resolveFile(DefaultFileSystemManager.java:693) at org.apache.commons.vfs2.impl.DefaultFileSystemManager.resolveFile(DefaultFileSystemManager.java:621) at org.metaborg.core.resource.ResourceService.resolve(ResourceService.java:79) ... 66 more
The URI
Submitted by Gabriël Konat on 30 March 2016 at 13:58file:///Users/gohla/Library/Application%252520Support/IdeaIC15/org.metaborg.intellij/classes/languages/org.metaborg.meta.lang.esv-2.0.0-SNAPSHOT.spoofax-language
containsApplication Support
with wrong (double or triple) encoding for spaces.