<div dir="ltr">I agree with Alan here. Maven Central is a free &quot;download area&quot;, so I wouldn&#39;t give it up for free. BTW, what is the point of creating and not shipping them?<div><br></div><div>I would lean towards to removing them completely or limiting the number of use cases to the minimum e.g. we shouldn&#39;t support using infinispan-embedded and jcache; if jcache is essential it should be inside infinispan-embedded; the same for Spring integration modules - either we should put them in uber jars or say that you can use Spring integration with small jars.</div></div><br><div class="gmail_quote"><div dir="ltr">On Fri, Jun 9, 2017 at 5:05 AM Alan Field &lt;<a href="mailto:afield@redhat.com">afield@redhat.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Wasn&#39;t the ability to add a single dependency to a project to start using Infinispan the whole purpose for the uber jars? I&#39;m not trying to make an argument for keeping them, because I know they have caused many issues. I just think that if we are going to remove them from Maven, then there should be a way to achieve the same easy developer on boarding that uber jars were supposed to provide. Whether this is Maven project templates, or something else doesn&#39;t matter.<br>
<br>
Thanks,<br>
Alan<br>
<br>
----- Original Message -----<br>
&gt; From: &quot;Tristan Tarrant&quot; &lt;<a href="mailto:ttarrant@redhat.com" target="_blank">ttarrant@redhat.com</a>&gt;<br>
&gt; To: <a href="mailto:infinispan-dev@lists.jboss.org" target="_blank">infinispan-dev@lists.jboss.org</a><br>
&gt; Sent: Thursday, June 8, 2017 4:05:08 AM<br>
&gt; Subject: Re: [infinispan-dev] Why JCache embedded has core as provided dependency<br>
&gt;<br>
&gt; I think we should turn off maven deployment for uber jars.<br>
&gt;<br>
&gt; Tristan<br>
&gt;<br>
&gt; On 6/7/17 5:10 PM, Gustavo Fernandes wrote:<br>
&gt; &gt; On Wed, Jun 7, 2017 at 11:02 AM, Galder Zamarreño &lt;<a href="mailto:galder@redhat.com" target="_blank">galder@redhat.com</a><br>
&gt; &gt; &lt;mailto:<a href="mailto:galder@redhat.com" target="_blank">galder@redhat.com</a>&gt;&gt; wrote:<br>
&gt; &gt;<br>
&gt; &gt;     As far as I see it:<br>
&gt; &gt;<br>
&gt; &gt;     * infinispan-embedded should never be a dependency in a Maven project.<br>
&gt; &gt;<br>
&gt; &gt;     * No uber jars should really be used as Maven dependencies because<br>
&gt; &gt;     all the exclusion that fine grained dependencies allow you to do<br>
&gt; &gt;     goes out of the window when all classes are inside a jar. This is<br>
&gt; &gt;     not just theory, I&#39;ve personally had such issues.<br>
&gt; &gt;<br>
&gt; &gt;     * Uber jars are designed for Ant or other build tool users that<br>
&gt; &gt;     don&#39;t have a dependency resolution engine in place.<br>
&gt; &gt;<br>
&gt; &gt;     Cheers,<br>
&gt; &gt;<br>
&gt; &gt;     p.s. I thought we had already discussed this before?<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; I totally agree. In addition, uberjars should not be an osgi bundle or a<br>
&gt; &gt; jboss module, for similar reasons.<br>
&gt; &gt;<br>
&gt; &gt; P.S: Even Ant has a dependency mgmt available, which is Ivy.<br>
&gt; &gt;<br>
&gt; &gt; Cheers,<br>
&gt; &gt; Gustavo<br>
&gt; &gt;<br>
&gt; &gt;     --<br>
&gt; &gt;     Galder Zamarreño<br>
&gt; &gt;     Infinispan, Red Hat<br>
&gt; &gt;<br>
&gt; &gt;      &gt; On 7 Jun 2017, at 11:50, Sebastian Laskawiec &lt;<a href="mailto:slaskawi@redhat.com" target="_blank">slaskawi@redhat.com</a><br>
&gt; &gt;     &lt;mailto:<a href="mailto:slaskawi@redhat.com" target="_blank">slaskawi@redhat.com</a>&gt;&gt; wrote:<br>
&gt; &gt;      &gt;<br>
&gt; &gt;      &gt; Hey,<br>
&gt; &gt;      &gt;<br>
&gt; &gt;      &gt; The change was introduced by this commit [1] and relates to this<br>
&gt; &gt;     JIRAs [2][3]. The root cause is in [3].<br>
&gt; &gt;      &gt;<br>
&gt; &gt;      &gt; Imagine a scenario where you add JCache module to your together<br>
&gt; &gt;     infinispan-embedded. If your classpath was constructed in such a way<br>
&gt; &gt;     that infinispan-embedded was before infinispan-core (classpath is<br>
&gt; &gt;     scanned from left to right in standalone apps), we could get a<br>
&gt; &gt;     relocated (uber jars move some classes into other packages) logger.<br>
&gt; &gt;     That caused class mismatch errors. It is worth to mention that it<br>
&gt; &gt;     will happen to all relocated classes, logger was just an example.<br>
&gt; &gt;     And we need to relocate them, since a user might want to use his<br>
&gt; &gt;     own, newer version of DMR or any other library. So there&#39;s no<br>
&gt; &gt;     perfect solution here.<br>
&gt; &gt;      &gt;<br>
&gt; &gt;      &gt; Now a lot of time passed since then and we changed quite a few<br>
&gt; &gt;     things. So this topic probably needs to be revisited.<br>
&gt; &gt;      &gt;<br>
&gt; &gt;      &gt; So the first question that we should ask, shall we allow putting<br>
&gt; &gt;     jcache and infinispan-embedded together on the classpath. If the<br>
&gt; &gt;     answer is yes, I believe it should stay as it is (since the user<br>
&gt; &gt;     always have a choice whether he wants to use jcache with or without<br>
&gt; &gt;     uber jar). The same question needs to be asked for Spring modules as<br>
&gt; &gt;     well as all cache stores. The behavior needs to be consistent across<br>
&gt; &gt;     all those modules.<br>
&gt; &gt;      &gt;<br>
&gt; &gt;      &gt; If the answer is no (which is also valid because jcache is<br>
&gt; &gt;     already present in embedded uber jar), we should migrate all JBoss<br>
&gt; &gt;     Logging references to Infinispan Common Logging (as Tristan did here<br>
&gt; &gt;     [4]) and we can make infinispan-core as a compile time dependency to<br>
&gt; &gt;     jcache. Even though migrating to Infinispan logger is not necessary,<br>
&gt; &gt;     this way we won&#39;t break users app which used infinispan-embedded +<br>
&gt; &gt;     jcache approach. Of course the same applies to Spring and Cache<br>
&gt; &gt;     stores modules.<br>
&gt; &gt;      &gt;<br>
&gt; &gt;      &gt; I think the latter approach deserves some exploration. I would<br>
&gt; &gt;     vote for moving that way.<br>
&gt; &gt;      &gt;<br>
&gt; &gt;      &gt; Thanks,<br>
&gt; &gt;      &gt; Sebastian<br>
&gt; &gt;      &gt;<br>
&gt; &gt;      &gt; [1]<br>
&gt; &gt;     <a href="https://github.com/infinispan/infinispan/commit/720f158cce38d86b292e1ce77b75509342007739" rel="noreferrer" target="_blank">https://github.com/infinispan/infinispan/commit/720f158cce38d86b292e1ce77b75509342007739</a><br>
&gt; &gt;     &lt;<a href="https://github.com/infinispan/infinispan/commit/720f158cce38d86b292e1ce77b75509342007739" rel="noreferrer" target="_blank">https://github.com/infinispan/infinispan/commit/720f158cce38d86b292e1ce77b75509342007739</a>&gt;<br>
&gt; &gt;      &gt; [2] <a href="https://issues.jboss.org/browse/ISPN-6295" rel="noreferrer" target="_blank">https://issues.jboss.org/browse/ISPN-6295</a><br>
&gt; &gt;     &lt;<a href="https://issues.jboss.org/browse/ISPN-6295" rel="noreferrer" target="_blank">https://issues.jboss.org/browse/ISPN-6295</a>&gt;<br>
&gt; &gt;      &gt; [3] <a href="https://issues.jboss.org/browse/ISPN-6132" rel="noreferrer" target="_blank">https://issues.jboss.org/browse/ISPN-6132</a><br>
&gt; &gt;     &lt;<a href="https://issues.jboss.org/browse/ISPN-6132" rel="noreferrer" target="_blank">https://issues.jboss.org/browse/ISPN-6132</a>&gt;<br>
&gt; &gt;      &gt; [4] <a href="https://github.com/infinispan/infinispan/pull/4140/files" rel="noreferrer" target="_blank">https://github.com/infinispan/infinispan/pull/4140/files</a><br>
&gt; &gt;     &lt;<a href="https://github.com/infinispan/infinispan/pull/4140/files" rel="noreferrer" target="_blank">https://github.com/infinispan/infinispan/pull/4140/files</a>&gt;<br>
&gt; &gt;      &gt;<br>
&gt; &gt;      &gt;<br>
&gt; &gt;      &gt; On Wed, Jun 7, 2017 at 11:19 AM Galder Zamarreño<br>
&gt; &gt;     &lt;<a href="mailto:galder@redhat.com" target="_blank">galder@redhat.com</a> &lt;mailto:<a href="mailto:galder@redhat.com" target="_blank">galder@redhat.com</a>&gt;&gt; wrote:<br>
&gt; &gt;      &gt; Hi all,<br>
&gt; &gt;      &gt;<br>
&gt; &gt;      &gt; Re:<br>
&gt; &gt;     <a href="https://github.com/spring-projects/spring-boot/pull/9417#discussion_r120375579" rel="noreferrer" target="_blank">https://github.com/spring-projects/spring-boot/pull/9417#discussion_r120375579</a><br>
&gt; &gt;     &lt;<a href="https://github.com/spring-projects/spring-boot/pull/9417#discussion_r120375579" rel="noreferrer" target="_blank">https://github.com/spring-projects/spring-boot/pull/9417#discussion_r120375579</a>&gt;<br>
&gt; &gt;      &gt;<br>
&gt; &gt;      &gt; Stéphane makes a good point there, why did we make core provided<br>
&gt; &gt;     dependency? It does feel a bit of a pain that anyone that depends on<br>
&gt; &gt;     jcache embedded also needs to depend on core.<br>
&gt; &gt;      &gt;<br>
&gt; &gt;      &gt; Any more details behind this decision?<br>
&gt; &gt;      &gt;<br>
&gt; &gt;      &gt; Cheers,<br>
&gt; &gt;      &gt; --<br>
&gt; &gt;      &gt; Galder Zamarreño<br>
&gt; &gt;      &gt; Infinispan, Red Hat<br>
&gt; &gt;      &gt;<br>
&gt; &gt;      &gt; --<br>
&gt; &gt;      &gt; SEBASTIAN ŁASKAWIEC<br>
&gt; &gt;      &gt; INFINISPAN DEVELOPER<br>
&gt; &gt;      &gt; Red Hat EMEA<br>
&gt; &gt;      &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;     _______________________________________________<br>
&gt; &gt;     infinispan-dev mailing list<br>
&gt; &gt;     <a href="mailto:infinispan-dev@lists.jboss.org" target="_blank">infinispan-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:infinispan-dev@lists.jboss.org" target="_blank">infinispan-dev@lists.jboss.org</a>&gt;<br>
&gt; &gt;     <a href="https://lists.jboss.org/mailman/listinfo/infinispan-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/mailman/listinfo/infinispan-dev</a><br>
&gt; &gt;     &lt;<a href="https://lists.jboss.org/mailman/listinfo/infinispan-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/mailman/listinfo/infinispan-dev</a>&gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; _______________________________________________<br>
&gt; &gt; infinispan-dev mailing list<br>
&gt; &gt; <a href="mailto:infinispan-dev@lists.jboss.org" target="_blank">infinispan-dev@lists.jboss.org</a><br>
&gt; &gt; <a href="https://lists.jboss.org/mailman/listinfo/infinispan-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/mailman/listinfo/infinispan-dev</a><br>
&gt; &gt;<br>
&gt;<br>
&gt; --<br>
&gt; Tristan Tarrant<br>
&gt; Infinispan Lead<br>
&gt; JBoss, a division of Red Hat<br>
&gt; _______________________________________________<br>
&gt; infinispan-dev mailing list<br>
&gt; <a href="mailto:infinispan-dev@lists.jboss.org" target="_blank">infinispan-dev@lists.jboss.org</a><br>
&gt; <a href="https://lists.jboss.org/mailman/listinfo/infinispan-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/mailman/listinfo/infinispan-dev</a><br>
<br>
_______________________________________________<br>
infinispan-dev mailing list<br>
<a href="mailto:infinispan-dev@lists.jboss.org" target="_blank">infinispan-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/infinispan-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/mailman/listinfo/infinispan-dev</a></blockquote></div><div dir="ltr">-- <br></div><div data-smartmail="gmail_signature"><div dir="ltr"><p class="inbox-inbox-fullname-container" style="box-sizing:border-box;color:rgb(0,0,0);font-family:overpass,sans-serif;font-weight:bold;margin:0px;padding:0px;font-size:14px;text-transform:uppercase"><span class="inbox-inbox-firstname-container" style="box-sizing:border-box">SEBASTIAN</span><span class="inbox-inbox-Apple-converted-space"> </span><span class="inbox-inbox-lastname-container" style="box-sizing:border-box">ŁASKAWIEC</span></p><p class="inbox-inbox-position-container" style="box-sizing:border-box;color:rgb(0,0,0);font-family:overpass,sans-serif;font-size:10px;margin:0px 0px 4px;text-transform:uppercase"><span class="inbox-inbox-position" style="box-sizing:border-box">INFINISPAN DEVELOPER</span></p><p class="inbox-inbox-legal-container" style="box-sizing:border-box;font-family:overpass,sans-serif;margin:0px;font-size:10px;color:rgb(153,153,153)"><a class="inbox-inbox-redhat-anchor" href="https://www.redhat.com/" target="_blank" style="box-sizing:border-box;color:rgb(0,136,206);margin:0px;text-decoration:none">Red Hat<span class="inbox-inbox-Apple-converted-space"> </span><span style="box-sizing:border-box">EMEA</span></a></p><table border="0" style="box-sizing:border-box;color:rgb(0,0,0);font-family:overpass,sans-serif;font-size:medium"><tbody style="box-sizing:border-box"><tr style="box-sizing:border-box"><td width="100px" style="box-sizing:border-box"><a href="https://red.ht/sig" style="box-sizing:border-box"><img width="90" height="auto" style="box-sizing: border-box;" src="https://www.redhat.com/files/brand/email/sig-redhat.png"></a></td></tr></tbody></table></div></div>