Issues configuring a dependency for a 3-rd party plugin (Scala)

Answered

might be related to this

the configuration of the plugin, that depends on Scala as a 3-rd party. whenever I use config-file="plugin.xml", then the plugin fails on gradle "verifyPlugin" task with StackOverFlowError:

Cause: java.lang.StackOverflowError
at java.xml/jdk.xml.internal.SecuritySupport.getSystemProperty(SecuritySupport.java:86)
at java.xml/com.sun.org.apache.xerces.internal.utils.XMLSecurityManager.getSystemProperty(XMLSecurityManager.java:530)
at java.xml/com.sun.org.apache.xerces.internal.utils.XMLSecurityManager.readSystemProperties(XMLSecurityManager.java:492)
at java.xml/com.sun.org.apache.xerces.internal.utils.XMLSecurityManager.<init>(XMLSecurityManager.java:206)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLEntityManager.<init>(XMLEntityManager.java:435)
at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.<init>(XML11Configuration.java:594)
at java.xml/com.sun.org.apache.xerces.internal.parsers.XIncludeAwareParserConfiguration.<init>(XIncludeAwareParserConfiguration.java:130)
at java.xml/com.sun.org.apache.xerces.internal.parsers.XIncludeAwareParserConfiguration.<init>(XIncludeAwareParserConfiguration.java:91)
at java.xml/com.sun.org.apache.xerces.internal.parsers.SAXParser.<init>(SAXParser.java:111)
at java.xml/com.sun.org.apache.xerces.internal.parsers.SAXParser.<init>(SAXParser.java:96)
at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.<init>(SAXParserImpl.java:403)
at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.<init>(SAXParserImpl.java:135)
at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl.newSAXParser(SAXParserFactoryImpl.java:78)
at org.jdom2.input.sax.XMLReaders.createXMLReader(XMLReaders.java:153)
at org.jdom2.input.SAXBuilder.createParser(SAXBuilder.java:871)
at org.jdom2.input.SAXBuilder.buildEngine(SAXBuilder.java:854)
at org.jdom2.input.SAXBuilder.getEngine(SAXBuilder.java:904)
at org.jdom2.input.SAXBuilder.build(SAXBuilder.java:1196)
at com.jetbrains.plugin.structure.intellij.utils.JDOMUtil.loadDocument(JDOMUtil.java:103)
at com.jetbrains.plugin.structure.intellij.plugin.IdePluginManager.loadPluginInfoFromJarFile(IdePluginManager.java:97)
at com.jetbrains.plugin.structure.intellij.plugin.IdePluginManager.loadPluginInfoFromLibDirectory(IdePluginManager.java:202)
at com.jetbrains.plugin.structure.intellij.plugin.IdePluginManager.loadPluginInfoFromDir(IdePluginManager.java:151)
at com.jetbrains.plugin.structure.intellij.plugin.IdePluginManager.loadPluginInfoFromJarOrDirectory(IdePluginManager.java:251)
at com.jetbrains.plugin.structure.intellij.plugin.IdePluginManager.resolveOptionalConfigurationFile(IdePluginManager.java:286)

...

on the other hand, if I use: a). random name, b). some existing name of .xml configurations from the Scala plugin (say config-file="scala-plugin-common.xml"), then I soon receive an email from JetBrains that there is a configuration defect (more details here).

2 comments
Comment actions Permalink

Nikolay,

Why do you set the config-file value as a reference to the external plugin's XML file?

<depends optional="true" config-file="scala.scala-impl.resources.META-INF.plugin.xml">org.intellij.scala</depends>

It is supposed to be set to your local XML file, like with-scala.xml.

Please review the Optional Plugin Dependencies section in our docs.

1

Please sign in to leave a comment.