[infinispan-dev] Uber Jars

Mircea Markus mmarkus at redhat.com
Tue Jun 3 04:57:27 EDT 2014


On Jun 3, 2014, at 8:53, Tristan Tarrant <ttarrant at redhat.com> wrote:

> Dear all,
> 
> on Thursday I issued a PR [1] to introduce Uber Jars, i.e. single jars 
> which wrap our multitude of jars and some of the transitive 
> dependencies, but it was (rightly) pointed out that we should have a 
> little discussion here first.
> 
> Firstly, I'm using the maven shade plugin which repackages multiple jars 
> into one with:
> - automatic transitive resolution
> - the ability to include/exclude certain jars
> - move classes if necessary to other packages to avoid conflicts
> - rewrite the POM with the new dependencies.
> 
> Here is my global strategy:
> - define a set of uber-jars (see below)
> - include all non-optional dependencies in each uber-jar except for the 
> specification Jars (e.g. javax.transaction and javax.persistence)
> - rename some internal-only dependencies to avoid conflicts
> - uber jars MUST NOT inherit from infinispan-parent (too much cruft in 
> there) but only from infinispan-bom.

Just for my own understanding, what is the rationale behind this? 

> 
> The Uber Jars
> - infinispan-embedded-all (infinispan-commons, infinispan-core, jgroups, 
> jboss-marshalling-osgi, jboss-logging, infinispan-cachestore-jdbc, 
> infinispan-cachestore-jpa, infinispan-cachestore-leveldb)
> - infinispan-remote-all (infinispan-commons, infinispan-client-hotrod, 
> commons-pool, jboss-marshalling-osgi, jboss-logging, 
> infinispan-remote-query-client, infinispan-query-dsl, 
> infinispan-protostream, protobuf-java)
> - infinispan-query-all (infinispan-query, infinispan-query-dsl, 
> hibernate-hql-parser, antlr, stringtemplate, hibernate-hql-lucene, 
> hibernate-search-engine, infinispan-lucene-v4, 
> hibernate-search-analyzers, lucene*, solr*, avro, jackson-core, 
> jackson-mapper, paranamer, apache-compress, infinispan-lucene-directory, 
> hibernate-search-infinispan, hibernate-commons-annotations). This 
> package will depend on infinispan-embedded-all and we should only make a 
> Lucene v4 version).
> 
> Discuss :)

Much simpler this way, so why not making this the default packaging? 

> 
> 
> Tristan
> 
> 
> 
> [1] https://github.com/infinispan/infinispan/pull/2589
> _______________________________________________
> infinispan-dev mailing list
> infinispan-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/infinispan-dev

Cheers,
-- 
Mircea Markus
Infinispan lead (www.infinispan.org)






More information about the infinispan-dev mailing list