jstestdriver plugin fails, is this a plugin issue or an openapi issue?

jstestdriver plugin is marked as compatible with WebStorm, however it is crashing in version 95.17
Should this be reported to the plugin creator as an error, or is this a dependency issue in the openapi framework?

com/intellij/peer/PeerFactory: com/intellij/peer/PeerFactory
java.lang.NoClassDefFoundError: com/intellij/peer/PeerFactory
at com.google.jstestdriver.idea.JSTestDriverToolWindow.initToolWindow(Unknown Source)
at com.google.jstestdriver.idea.JSTestDriverToolWindow.projectOpened(Unknown Source)
at com.intellij.openapi.project.impl.ProjectImpl.c(ProjectImpl.java:310)
at com.intellij.openapi.project.impl.ProjectImpl.access$200(ProjectImpl.java:66)
at com.intellij.openapi.project.impl.ProjectImpl$MyProjectManagerListener.projectOpened(ProjectImpl.java:345)
at com.intellij.openapi.project.impl.ProjectManagerImpl$2.projectOpened(ProjectManagerImpl.java:137)
at com.intellij.openapi.project.impl.ProjectManagerImpl.d(ProjectManagerImpl.java:925)
at com.intellij.openapi.project.impl.ProjectManagerImpl.openProject(ProjectManagerImpl.java:368)
at com.intellij.platform.PlatformProjectOpenProcessor.doOpenProject(PlatformProjectOpenProcessor.java:106)
at com.intellij.ide.RecentDirectoryProjectsManager.doOpenProject(RecentDirectoryProjectsManager.java:60)
at com.intellij.ide.RecentProjectsManagerBase$MyAppLifecycleListener.appStarting(RecentProjectsManagerBase.java:242)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.intellij.util.messages.impl.MessageBusConnectionImpl.deliverMessage(MessageBusConnectionImpl.java:101)
at com.intellij.util.messages.impl.MessageBusImpl.doPumpMessages(MessageBusImpl.java:183)
at com.intellij.util.messages.impl.MessageBusImpl.pumpMessages(MessageBusImpl.java:175)
at com.intellij.util.messages.impl.MessageBusImpl.sendMessage(MessageBusImpl.java:167)
at com.intellij.util.messages.impl.MessageBusImpl.access$000(MessageBusImpl.java:40)
at com.intellij.util.messages.impl.MessageBusImpl$2.invoke(MessageBusImpl.java:106)
at $Proxy32.appStarting(Unknown Source)
at com.intellij.idea.IdeaApplication.b(IdeaApplication.java:238)
at com.intellij.idea.IdeaApplication.access$400(IdeaApplication.java:52)
at com.intellij.idea.IdeaApplication$IdeStarter$3.run(IdeaApplication.java:218)
at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:319)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:633)
at com.intellij.ide.IdeEventQueue.f(IdeEventQueue.java:610)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:500)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:368)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: java.lang.ClassNotFoundException: com.intellij.peer.PeerFactory
at com.intellij.ide.plugins.cl.PluginClassLoader.loadClass(PluginClassLoader.java:70)
at java.lang.ClassLoader.loadClass(ClassLoader.java:250)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:398)
... 37 more

22 comments

At the moment PeerFactory is a part of is part of Java support API. Plugin developer should declare proper dependency on java support IDEA plugin, thus making jstestdriver plugin incompatible with WebStorm and some other products. Plugin developers should contact us if they have some problems with making plugin compatible with these products.

0

Thank you, I have reported the issue as #115 on the JsTestDriver issue list.

0

Thanks, Henri, looks like instead of


    ContentFactory contentFactory = PeerFactory.getInstance().getContentFactory();
I just need to use
    ContentFactory contentFactory = ContentFactory.SERVICE.getInstance();



and then the plugin doesn't depend on the Java support anymore. It really shouldn't, since it's for testing Javascript, which is just as relevant in PhpStorm or WebStorm.

Now I can install the plugin in PhpStorm, but when I create the JsTestDriver configuration, the run button remains greyed out. It seems that there's something about this run configuration that's not compatible with PhpStorm - but I can't see any output on Stdout or any errors within the IDE that would point me to the problem.

@Alexey Gopachenko, any suggestions?

Thanks!
0

Hey Alexey,

Not sure if my reply to Henri will notify you about my question in this thread, so here's a ping.

0

We get notifications on any posting.
Anyway, it just takes a time to investigate, sepecially since yesterdays checkout (plugin) doesn't compile either from ant or ipr for me.
However I managed to make it use CommandLineRunner and stuff and it looks like platform may be missing some essential stuff from IDEA.
I'm still working on it.

0

Awesome, thanks for looking into it.

For the build - there's a core library jar which needs to be built first, and it includes the transitive deps. (cd JsTestDriver; ant jar) Then you can
cd idea-plugin; ant -DIDEA_JAR_PATH=/Applications/IntelliJ\ IDEA\ 9.0.3\ CE.app/lib/idea.jar zip
Since we have to depend on idea.jar but don't want to check it in.
Also, we're working from the 1.2.2 branch at the moment, not trunk.

0

Well, I've added the missing "default runner" to platform, so the "Run" action is now enabled in PS, WS and other IDEs. It will be available in since next PS EAP build (I think I will be able to publish it in next couple of days).

0

I've checked out 1.2.2 and there is still API incompatibility with platform branch 96 (IDEA X & WS 2 & PS 2 & RM 2.5)
com.google.jstestdriver.idea.TestRunnerState.execute(...) needs to pass "executor" as 3rd parameter of new SMTRunnerConsoleProperties(...) call.

0

Moreover, you cant use JavaCommandLineState in JSTestDriverConfiguration in platform apps (CommandLineState only), same goes for JavaParameters  - basically you need to create generic CommandLine and and execute it.
Also you can't use stuff like

    Sdk jdk = module == null ?
            ProjectRootManager.getInstance(project).getProjectJdk() :
            ModuleRootManager.getInstance(module).getSdk();

because there's no jdk info in PS, WS and RM prejects and modules.

Basically to make proper platform plugin create IDEA SDK from PS 2.0 EAP. Then create Plugin run config in IDEA and add "-Didea.platform.prefix=PhpStorm" to command line parameters to be able to run and debug it from within IDE.

BTW, I think I can provide patch with my fixes... check out platformFixes.patch

Well, its rough but almost works (steel need to deal with quotes)

Message was edited by: Alexey Gopachenko



Attachment(s):
platformFixes.patch.zip
0

PhpStorm EAP 96.1224 was just published - it has the previously-missing part, the Run button should work.

0

Thanks for the help, Alexey. I'm going to find time soon to work on those API changes and test with the new EAP.

I don't want to hold up my IDEA users in the meantime, so I published a new plugin version with since-build="IC-93.13", so it won't appear as compatible with the other platform IDEs.

But, the confirmation page from plugins.intellij.net says

Thank you. You plug-in has been submitted for moderation, and will be processed within two working days.
Your plug-in supports the following products based on IntelliJ Platform:

  • IntelliJ IDEA
  • RubyMine
  • PhpStorm/WebStorm
  • PyCharm
  • Community Edition

If you want to change the list of supported products, please update the "plugin.xml" file correspondingly and re-upload it once again. Your current plug-in data will be saved.



What's up with that?
0

Well, if you still use JavaCommandLine & other java-specific stuff you should declare appropriate dependency: <depends>com.intellj.modules.java<depends> - this will effectively limit compatible IDE list to IU and IC. Also, to limit your plugin to 9.0.x builds - because 9.0 and 10.0 versions of platform are incompatible - set until-build to something like 95.9999 (9.0.x release branch)

0

OK, I'm finally working on this now.

I've got your patch and everything compiles, but I can't launch the platform IDE's.

With Java SDK = IDEA WS-98.108, and -Didea.platform.prefix=WebIDE in an empty sandbox dir I get this:

/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/bin/java -XX:MaxPermSize=120m -Xbootclasspath/a:/Applications/WebStorm-98.108.app/lib/boot.jar -Didea.config.path=/Users/alexeagle/Library/Caches/IntelliJIdea90CE/plugins-sandbox/config -Didea.system.path=/Users/alexeagle/Library/Caches/IntelliJIdea90CE/plugins-sandbox/system -Didea.plugins.path=/Users/alexeagle/Library/Caches/IntelliJIdea90CE/plugins-sandbox/plugins -Didea.smooth.progress=false -Dapple.laf.useScreenMenuBar=true -Dfile.encoding=MacRoman -classpath /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/lib/tools.jar:/Applications/WebStorm-98.108.app/lib/idea_rt.jar:/Applications/WebStorm-98.108.app/lib/idea.jar:/Applications/WebStorm-98.108.app/lib/bootstrap.jar:/Applications/WebStorm-98.108.app/lib/extensions.jar:/Applications/WebStorm-98.108.app/lib/util.jar:/Applications/WebStorm-98.108.app/lib/openapi.jar:/Applications/WebStorm-98.108.app/lib/jdom.jar:/Applications/WebStorm-98.108.app/lib/log4j.jar com.intellij.idea.Main -Didea.platform.prefix=WebIDE
[    375]  ERROR - ation.impl.ApplicationInfoImpl - /idea/ApplicationInfo.xml
java.io.FileNotFoundException: /idea/ApplicationInfo.xml
 at com.intellij.openapi.util.JDOMUtil.loadDocument(JDOMUtil.java:353)
 at com.intellij.openapi.application.impl.ApplicationInfoImpl.getShadowInstance(ApplicationInfoImpl.java:287)
 at com.intellij.ui.AppUIUtil.getAppIconImages(AppUIUtil.java:50)
 at com.intellij.ui.AppUIUtil.updateFrameIcon(AppUIUtil.java:39)
 at com.intellij.idea.MainImpl._main(MainImpl.java:80)
 at com.intellij.idea.MainImpl.start(MainImpl.java:72)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at com.intellij.ide.plugins.PluginManager$3.run(PluginManager.java:148)
 at java.lang.Thread.run(Thread.java:637)
[    378]  ERROR - ation.impl.ApplicationInfoImpl - JDK: 1.6.0_20
[    378]  ERROR - ation.impl.ApplicationInfoImpl - VM: Java HotSpot(TM) 64-Bit Server VM
[    379]  ERROR - ation.impl.ApplicationInfoImpl - Vendor: Apple Inc.
[    379]  ERROR - ation.impl.ApplicationInfoImpl - OS: Mac OS X
java.lang.IllegalArgumentException: Argument 0 for @NotNull parameter of com/intellij/openapi/util/JDOMUtil.loadDocument must not be null
 at com.intellij.openapi.util.JDOMUtil.loadDocument(JDOMUtil.java)
 at com.intellij.openapi.application.ApplicationNamesInfo.<init>(ApplicationNamesInfo.java:48)
 at com.intellij.openapi.application.ApplicationNamesInfo.<init>(ApplicationNamesInfo.java:27)
 at com.intellij.openapi.application.ApplicationNamesInfo$ApplicationNamesInfoHolder.<clinit>(ApplicationNamesInfo.java:38)
 at com.intellij.openapi.application.ApplicationNamesInfo.getInstance(ApplicationNamesInfo.java:42)
 at com.intellij.openapi.application.impl.ApplicationInfoImpl.getVersionName(ApplicationInfoImpl.java:145)
 at com.intellij.openapi.application.impl.ApplicationInfoImpl.getFullApplicationName(ApplicationInfoImpl.java:261)
 at com.intellij.ide.license.ui.LicenseMessagesImpl.getProductVersion(LicenseMessagesImpl.java:76)
 at com.intellij.ide.license.ui.LicenseMessagesImpl.doesUserAcceptLicense(LicenseMessagesImpl.java:81)
 at com.intellij.ide.license.impl.GeneralLicenseManager.validateLicense(GeneralLicenseManager.java:140)
 at com.intellij.ide.license.impl.GeneralLicenseManager$3.proceed(GeneralLicenseManager.java:212)
 at com.intellij.ide.license.ui.LicenseEntryFrame.doOKAction(LicenseEntryFrame.java:77)
 at com.intellij.ide.license.ui.LicenseEntryFrame.access$100(LicenseEntryFrame.java:15)
 at com.intellij.ide.license.ui.LicenseEntryFrame$2.actionPerformed(LicenseEntryFrame.java:45)
 at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2028)
 at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2351)
 at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
 at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
 at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
 at java.awt.Component.processMouseEvent(Component.java:6348)
 at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
 at java.awt.Component.processEvent(Component.java:6113)
 at java.awt.Container.processEvent(Container.java:2085)
 at java.awt.Component.dispatchEventImpl(Component.java:4714)
 at java.awt.Container.dispatchEventImpl(Container.java:2143)
 at java.awt.Component.dispatchEvent(Component.java:4544)
 at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4618)
 at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4282)
 at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4212)
 at java.awt.Container.dispatchEventImpl(Container.java:2129)
 at java.awt.Window.dispatchEventImpl(Window.java:2478)
 at java.awt.Component.dispatchEvent(Component.java:4544)
 at java.awt.EventQueue.dispatchEvent(EventQueue.java:635)
 at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
 at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
 at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
 at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
 at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
 at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
[   4995]  ERROR - llij.ide.plugins.PluginManager - null
java.lang.NullPointerException
 at com.intellij.openapi.application.impl.ApplicationInfoImpl.getFullApplicationName(ApplicationInfoImpl.java:272)
 at com.intellij.ide.license.ui.LicenseMessagesImpl.getProductVersion(LicenseMessagesImpl.java:76)
 at com.intellij.ide.license.ui.LicenseMessagesImpl.doesUserAcceptLicense(LicenseMessagesImpl.java:81)
 at com.intellij.ide.license.impl.GeneralLicenseManager.validateLicense(GeneralLicenseManager.java:140)
 at com.intellij.ide.license.impl.GeneralLicenseManager$3.proceed(GeneralLicenseManager.java:212)
 at com.intellij.ide.license.ui.LicenseEntryFrame.doOKAction(LicenseEntryFrame.java:77)
 at com.intellij.ide.license.ui.LicenseEntryFrame.access$100(LicenseEntryFrame.java:15)
 at com.intellij.ide.license.ui.LicenseEntryFrame$2.actionPerformed(LicenseEntryFrame.java:45)
 at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2028)
...
 at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
[   5002]  ERROR - llij.ide.plugins.PluginManager - JDK: 1.6.0_20
[   5002]  ERROR - llij.ide.plugins.PluginManager - VM: Java HotSpot(TM) 64-Bit Server VM
[   5002]  ERROR - llij.ide.plugins.PluginManager - Vendor: Apple Inc.
[   5002]  ERROR - llij.ide.plugins.PluginManager - OS: Mac OS X




If I start again, now that my sandbox already has the state of my licensing choice, I get this:


/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/bin/java -XX:MaxPermSize=120m -Xbootclasspath/a:/Applications/WebStorm-98.108.app/lib/boot.jar -Didea.config.path=/Users/alexeagle/Library/Caches/IntelliJIdea90CE/plugins-sandbox/config -Didea.system.path=/Users/alexeagle/Library/Caches/IntelliJIdea90CE/plugins-sandbox/system -Didea.plugins.path=/Users/alexeagle/Library/Caches/IntelliJIdea90CE/plugins-sandbox/plugins -Didea.smooth.progress=false -Dapple.laf.useScreenMenuBar=true -Dfile.encoding=MacRoman -classpath /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/lib/tools.jar:/Applications/WebStorm-98.108.app/lib/idea_rt.jar:/Applications/WebStorm-98.108.app/lib/idea.jar:/Applications/WebStorm-98.108.app/lib/bootstrap.jar:/Applications/WebStorm-98.108.app/lib/extensions.jar:/Applications/WebStorm-98.108.app/lib/util.jar:/Applications/WebStorm-98.108.app/lib/openapi.jar:/Applications/WebStorm-98.108.app/lib/jdom.jar:/Applications/WebStorm-98.108.app/lib/log4j.jar com.intellij.idea.Main -Didea.platform.prefix=WebIDE
[    363]  ERROR - ation.impl.ApplicationInfoImpl - /idea/ApplicationInfo.xml
java.io.FileNotFoundException: /idea/ApplicationInfo.xml
 at com.intellij.openapi.util.JDOMUtil.loadDocument(JDOMUtil.java:353)
 at com.intellij.openapi.application.impl.ApplicationInfoImpl.getShadowInstance(ApplicationInfoImpl.java:287)
 at com.intellij.ui.AppUIUtil.getAppIconImages(AppUIUtil.java:50)
 at com.intellij.ui.AppUIUtil.updateFrameIcon(AppUIUtil.java:39)
 at com.intellij.idea.MainImpl._main(MainImpl.java:80)
 at com.intellij.idea.MainImpl.start(MainImpl.java:72)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at com.intellij.ide.plugins.PluginManager$3.run(PluginManager.java:148)
 at java.lang.Thread.run(Thread.java:637)
[    372]  ERROR - ation.impl.ApplicationInfoImpl - JDK: 1.6.0_20
[    372]  ERROR - ation.impl.ApplicationInfoImpl - VM: Java HotSpot(TM) 64-Bit Server VM
[    373]  ERROR - ation.impl.ApplicationInfoImpl - Vendor: Apple Inc.
[    373]  ERROR - ation.impl.ApplicationInfoImpl - OS: Mac OS X
[   1260]  ERROR - llij.ide.plugins.PluginManager - null
java.lang.NullPointerException
 at com.intellij.ide.plugins.IdeaPluginDescriptorImpl.insertDependency(IdeaPluginDescriptorImpl.java:508)
 at com.intellij.ide.plugins.PluginManager.initializePlugins(PluginManager.java:202)
 at com.intellij.ide.plugins.PluginManager.getPlugins(PluginManager.java:102)
 at com.intellij.openapi.application.impl.ApplicationImpl.loadApplicationComponents(ApplicationImpl.java:293)
 at com.intellij.openapi.application.impl.ApplicationImpl.<init>(ApplicationImpl.java:196)
 at com.intellij.openapi.application.ex.ApplicationManagerEx.createApplication(ApplicationManagerEx.java:35)
 at com.intellij.idea.IdeaApplication.<init>(IdeaApplication.java:70)
 at com.intellij.idea.IdeaUltimateApplication.<init>(IdeaUltimateApplication.java:14)
 at com.intellij.idea.MainImpl.startApplication(MainImpl.java:151)
 at com.intellij.idea.MainImpl.access$000(MainImpl.java:26)
 at com.intellij.idea.MainImpl$2.proceed(MainImpl.java:138)
 at com.intellij.ide.license.impl.GeneralLicenseManager$2.run(GeneralLicenseManager.java:173)
 at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
...
 at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
[   1262]  ERROR - llij.ide.plugins.PluginManager - JDK: 1.6.0_20
[   1262]  ERROR - llij.ide.plugins.PluginManager - VM: Java HotSpot(TM) 64-Bit Server VM
[   1262]  ERROR - llij.ide.plugins.PluginManager - Vendor: Apple Inc.
[   1262]  ERROR - llij.ide.plugins.PluginManager - OS: Mac OS X


The same stuff is true for Project SDK = IDEA PS-96.1224 and -Didea.platform.prefix=PhpStorm
Can you tell from this info what's going on?

Thanks again for all the help!

0

-Didea.platform.prefix=PhpStorm
This needs to match the actual product used. Use this prefix only with PhpStorm jars (will be detected as PS-98.xxx SDK),
Same for WebStorm (WS-98.xx) ...and there's no product WebIDE.

0

Sorry, that was confusing. I did try with PhpStorm as well, as I said at the end of my message, but I posted the stack traces from the WebStorm runs.

Take a look at this one (does something seem strange about the /a:/ path in the -Xbootclasspath param?)

/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/bin/java -XX:MaxPermSize=120m -Xbootclasspath/a:/Applications/PhpStorm-96.1224.app/lib/boot.jar -Didea.config.path=/Users/alexeagle/Library/Caches/IntelliJIdea90CE/plugins-sandbox/config -Didea.system.path=/Users/alexeagle/Library/Caches/IntelliJIdea90CE/plugins-sandbox/system -Didea.plugins.path=/Users/alexeagle/Library/Caches/IntelliJIdea90CE/plugins-sandbox/plugins -Didea.smooth.progress=false -Dapple.laf.useScreenMenuBar=true -Dfile.encoding=MacRoman -classpath /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/lib/tools.jar:/Applications/PhpStorm-96.1224.app/lib/idea_rt.jar:/Applications/PhpStorm-96.1224.app/lib/idea.jar:/Applications/PhpStorm-96.1224.app/lib/bootstrap.jar:/Applications/PhpStorm-96.1224.app/lib/extensions.jar:/Applications/PhpStorm-96.1224.app/lib/util.jar:/Applications/PhpStorm-96.1224.app/lib/openapi.jar:/Applications/PhpStorm-96.1224.app/lib/jdom.jar:/Applications/PhpStorm-96.1224.app/lib/log4j.jar com.intellij.idea.Main -Didea.platform.prefix=PhpStorm
[    363]  ERROR - ation.impl.ApplicationInfoImpl - /idea/ApplicationInfo.xml
java.io.FileNotFoundException: /idea/ApplicationInfo.xml
 at com.intellij.openapi.util.JDOMUtil.loadDocument(JDOMUtil.java:353)
 at com.intellij.openapi.application.impl.ApplicationInfoImpl.getShadowInstance(ApplicationInfoImpl.java:287)
 at com.intellij.ui.AppUIUtil.getAppIconImages(AppUIUtil.java:50)
 at com.intellij.ui.AppUIUtil.updateFrameIcon(AppUIUtil.java:39)
 at com.intellij.idea.MainImpl._main(MainImpl.java:80)
 at com.intellij.idea.MainImpl.start(MainImpl.java:72)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at com.intellij.ide.plugins.PluginManager$3.run(PluginManager.java:148)
 at java.lang.Thread.run(Thread.java:637)
[    367]  ERROR - ation.impl.ApplicationInfoImpl - JDK: 1.6.0_20
[    368]  ERROR - ation.impl.ApplicationInfoImpl - VM: Java HotSpot(TM) 64-Bit Server VM
[    368]  ERROR - ation.impl.ApplicationInfoImpl - Vendor: Apple Inc.
[    371]  ERROR - ation.impl.ApplicationInfoImpl - OS: Mac OS X
[   1318]  ERROR - llij.ide.plugins.PluginManager - null
java.lang.NullPointerException
 at com.intellij.ide.plugins.IdeaPluginDescriptorImpl.insertDependency(IdeaPluginDescriptorImpl.java:508)
 at com.intellij.ide.plugins.PluginManager.initializePlugins(PluginManager.java:202)
 at com.intellij.ide.plugins.PluginManager.getPlugins(PluginManager.java:102)
 at com.intellij.openapi.application.impl.ApplicationImpl.loadApplicationComponents(ApplicationImpl.java:293)
 at com.intellij.openapi.application.impl.ApplicationImpl.<init>(ApplicationImpl.java:196)
 at com.intellij.openapi.application.ex.ApplicationManagerEx.createApplication(ApplicationManagerEx.java:35)
 at com.intellij.idea.IdeaApplication.<init>(IdeaApplication.java:70)
 at com.intellij.idea.IdeaUltimateApplication.<init>(IdeaUltimateApplication.java:14)
 at com.intellij.idea.MainImpl.startApplication(MainImpl.java:151)
 at com.intellij.idea.MainImpl.access$000(MainImpl.java:26)
 at com.intellij.idea.MainImpl$2.proceed(MainImpl.java:138)
 at com.intellij.ide.license.impl.GeneralLicenseManager$2.run(GeneralLicenseManager.java:173)
 at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
 at java.awt.EventQueue.dispatchEvent(EventQueue.java:633)
 at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
 at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
 at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
 at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
 at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
 at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
[   1320]  ERROR - llij.ide.plugins.PluginManager - JDK: 1.6.0_20
[   1320]  ERROR - llij.ide.plugins.PluginManager - VM: Java HotSpot(TM) 64-Bit Server VM
[   1320]  ERROR - llij.ide.plugins.PluginManager - Vendor: Apple Inc.
[   1320]  ERROR - llij.ide.plugins.PluginManager - OS: Mac OS X

Process finished with exit code 0

0

Juding from resulting the command line and exception you've put  -Didea.platform.prefix=PhpStorm to command line, but it should go into VM parameters in run configuration.

0

That would be the problem... should have been obvious :)
thanks!

0

All working now. Thanks for the patch!

Looks like the latest PyCharm EAP is 96.1203 so I guess I can't test compatibility there. My plugin.xml is now:
<idea-version since-build="IC-96.1224" until-build="IC-98.9999"/>

Since at some point the platform versioning jumped to 98. Will the public release of the Php/Webstorm 2.0 and Idea 10 be on the 98 branch? Or 99?

Thanks!

0

Ok, last question for this thread (I hope!)

I have no version of the plugin compatible with older platform IDE's. In PhpStorm 95.503, I open the Plugin Manager, and it still indicates that version 1.2.2 is available. That doesn't seem right, based on the compatibility table at http://plugins.intellij.net/plugin/?webide&id=4468

0

There's simply a pack of bugs in plugin side code. It'will be completely rewritten in next few months, along with on-server automatic validation of plugin compatibility.

0

Please sign in to leave a comment.