Transitive export

In module settings you can choose to export some of the module libraries/src folders/dependent projects.

According to the documentation (i will use the mod3 depends on mod2 depends on mod1 example), when you choose to export a dependent project, only the direct project is exported not its own exported items.

In the example
mod1 exports a library, lib
mod2 depends on m1, sees the exported library (lib)
mod3 depends on m2, but does not see the library exported by m1 (lib).

(What is not stated is if mod2 exports m1 or not in that example)

The documentation states that if you want to export both a dependent project AND its own exported items you should export them explicitly. How do you do that ? Is there a way to "deep export" aka export an item and all its own exported entries ?

1 comment
Comment actions Permalink

precision :
Here is what i have
Module ES-Dependencies
- library (exported) commons-lang (including NestableException)
Module ES
- library (exported): jar defining a subclass of NestableException, EHouseSystemException. The source of the library is available and has been attached to the jar
- depends on ES-dependencies
Module HJF-Core
- src : SystemException,abstract subclass of EHouseSystemException implements HJFException (which declare the method getCause(), with the same signature as the one defined by NestableException)
- src : LocatorException extends SystemException
- depends on ES

When building, all goes fine.
But in the editor
1/ when looking at EHouseSystemException source, the superclass (NestableException from commons-lang) is shown in red even if it is exported by the dependent project ES-dependencies
2/ the editor says the class LocatorException should be abstract for not defining the getCause() method (which is wrong).

I guess this a bug ?


Please sign in to leave a comment.