Taglibs and complex dependencies between web facets?

Let's say I have three modules
Module 3:
     Web Facet with Custom Tag (via custom.tld in WEB-INF).  module3.jsp can use custom.tld
Module 2
     Depends on Module3 and exports that dependency
     Web Facet, module2.jsp can use custom.tld
Module 1
     Depends on Module 2
     Web Facet, JSPs cannot use custom.tld from Module3.  They can, however and for instance "<jsp:import>" resources from Module3

Taglibs in Module3's web facet are made available to modules with web facets (Module2) which have a direct dependency on Module3.  However, they are not made available to Module1, which depends on Module2, which in turn "Exports" its Module 3 dependency.

Screen shot 2011-02-17 at 5.20.29 PM.png

Short of adding direct dependencies from Module1 to BOTH Module2 and Module3, how can I export the taglibs via a module dependency? We may not be using web facets and modules as they were intended, but that is how our overall project is set up.   Are we doing it wrong?

Gratuitious background information:
I have a web project, split into pluggable modules.  The dependency tree between modules can go fairly deep.
We have an external build system which recursively builds each module in the dependency tree.  It provides the module being built with the output of all its dependencies.  Then, it combines the current module's output with all its dependencies' output and provides it to the parent module, until it reaches the root module.
For those of us using IntelliJ, we have a script that generates IDEA .iml modules for every logical module in our project, complete with web facets, module dependencies, library dependencies, etc.  I'd like my project to mimic the external build system, where all output from all dependencies is available to a parent module.

Comment actions Permalink

This is a bug. Could you submit a ticket to YouTrack?


Please sign in to leave a comment.