IDEA-3692: a module cannot depend on a plugin module

This limitation (at http://jetbrains.net/jira/browse/IDEA-3692) is very
irritating for my project. There is no reasonable workaround. (Our
workaround is to deploy all of our plugins as empty jars and plugin.xml,
and place all of our source in one of the modules.) The limitation
mostly prevents concurrent development of two or more plugins when one
depends on another. I hope those of us who develop plugins will vote for it.

6 comments

Hello Keith,

I took the do-it-yourself way and modified the DevKit to lift this restriction a bit: A
plugin module can now depend on another one if the dependency is also declared in the
plugin.xml descriptor. Please check if the attached DevKit build works for you.

Sascha

PS: Happy New Year!



Attachment(s):
devkit-test.jar
0

Wow, I didn't know it was a devkit problem. I'll see how it works later
this week.

Sascha Weinreuter wrote:

Hello Keith,

I took the do-it-yourself way and modified the DevKit to lift this
restriction a bit: A plugin module can now depend on another one if the
dependency is also declared in the plugin.xml descriptor. Please check
if the attached DevKit build works for you.

Sascha

PS: Happy New Year!

0

I haven't tried it yet, in fact I forgot about it. I want to try it next
week.

Sascha Weinreuter wrote:

Hello Keith,

I took the do-it-yourself way and modified the DevKit to lift this
restriction a bit: A plugin module can now depend on another one if the
dependency is also declared in the plugin.xml descriptor. Please check
if the attached DevKit build works for you.

Sascha

PS: Happy New Year!

0

Sascha Weinreuter wrote:

Hello Keith,

I took the do-it-yourself way and modified the DevKit to lift this
restriction a bit: A plugin module can now depend on another one if the
dependency is also declared in the plugin.xml descriptor. Please check
if the attached DevKit build works for you.

Sascha

PS: Happy New Year!


Cool, it looks like it works. I have a problem with it. I have modules
like this:

Common
Plugin A , depend on common, export common
Plugin B , depend on plugin A

It looks like Plugin B is getting its own copy of the Common classes,
when I run/debug. Is this correct behavior? Is my project set up
correctly? This causes problems because 2 copies of <interface-class>es
are loaded.

0

Keith Lea wrote:

It looks like Plugin B is getting its own copy of the Common classes,
when I run/debug. Is this correct behavior? Is my project set up
correctly? This causes problems because 2 copies of <interface-class>es
are loaded.


I'm afraid I can't reproduce that behavior. With a project setup like the one you
described, I get the following correct build-output:

+-plugins
+-A
+-classes
+-packageA
+-packageCommon
+-B
+-classes
+-packageB

Did you try cleaning your sandbox directory?

Sascha

0

Yes, I tried cleaning sandbox. I'll try harder to produce test case later.

Sascha Weinreuter wrote:

Keith Lea wrote:

>> It looks like Plugin B is getting its own copy of the Common classes,
>> when I run/debug. Is this correct behavior? Is my project set up
>> correctly? This causes problems because 2 copies of
>> <interface-class>es are loaded.


I'm afraid I can't reproduce that behavior. With a project setup like
the one you described, I get the following correct build-output:

+-plugins
+-A
+-classes
+-packageA
+-packageCommon
+-B
+-classes
+-packageB

Did you try cleaning your sandbox directory?

Sascha

0

Please sign in to leave a comment.