apex-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Vlad Rozov <v.ro...@datatorrent.com>
Subject Re: Packaging of Modules
Date Wed, 18 Nov 2015 06:10:18 GMT
There was a discussion related to the issue on the mailing list at the 
beginning of November 

The proposal was to go with option 2 and see if it will be sufficient. I 
guess there is still few open questions left after that discussion.

1. Including module into application will not be different compared to 
including any other .jar file - it will be necessary to add module 
artifact to the application pom.xml. This will bring all necessary 
module dependencies.
2. Thomas proposed to use shading to resolve version conflict issues. It 
will be good to have more details on how it will work and who will be 
responsible for shading.

Thank you,


On 11/17/15 20:53, Priyanka Gugale wrote:
> Hi,
> We are developing modules based on new features of Apex (reference jira:
> APEX-55 <https://malhar.atlassian.net/browse/APEX-55>). These modules are
> going to be independent units which can be distributed individually and may
> have their own config files, ui code etc.
> Now question is how do we package them?
> *Option 1*
> *Same as we create app package which contains all module specific code,
> dependencies, default config files etc?*
> If we create something like app package I see following issues:
> 1. When we write application using these module, how the application level
> packaging look like? Application package will have module jar bundled
> within it as it's dependency, which in itself will be a fat jar.
> 2. What if multiple modules used in an application use different versions
> of same external jar?
> 3. The size of app package will increase as different modules might bundle
> same jar.
> *Option 2*
> *Dependencies will not be packaged with module and module jar will not be a
> fat jar. The module jar contains only classes written for that module and
> config files if any.*
> Issues:
> 1. While creating app package, how do we know which all jars we need to
> include as part of modules dependencies? (We need to maintain this
> information somewhere in config file or check maven to provide us options.)
> 2. Modules of same application which uses different versions of same jar is
> still an issue.
> *Options 3*
> *While creating app package, un-package module jars, copy module jar and
> dependency jars, config files if any in app dependencies and config of
> application.*
> Issues:
> 1. This is not appealing way. Need to educate people on how to create their
> application packaging using modules.
> Please share your opinions so that we come up with right packaging strategy
> for modules.
> -Priyanka

View raw message