apex-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Thomas Weise <tho...@datatorrent.com>
Subject Re: Packaging of Modules
Date Fri, 20 Nov 2015 08:11:08 GMT
Modules should be packaged as standard jar files and dependencies managed
via Maven. In that regard I don't see any difference from operator jar
files.

Both can have transitive dependencies and the tools to handle those are
available.

UI related resource can be packaged in a jar file, no special format needed.


On Thu, Nov 19, 2015 at 10:32 AM, Pramod Immaneni <pramod@datatorrent.com>
wrote:

> I prefer we don't package the dependency jars with the module jar so that
> people can include multiple modules with common dependencies easily but
> would like to have a packaging format for modules that includes module
> jar(s), property files, UI related resources if we have them in the future
> similar to a packaging format we have for application packages. I don't
> think having a single module jar containing classes and property files is
> the way to go because we may have other non-java resources like UI
> configuration widgets in the future and don't think they should be packaged
> along with the classes directly.
>
> Thanks
>
> On Tue, Nov 17, 2015 at 8:53 PM, Priyanka Gugale <priyanka@datatorrent.com
> >
> 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
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message