<div dir="ltr"><div>Mircea, what exactly are the problems that we want to achieve by moving everything back in a single repository?</div><div><br></div><div>To me, the biggest problem right now is that builds take way too long, and if I integrate something in master it will take almost an entire day for TeamCity to update the status on all the open pull requests. I don&#39;t think moving everything to a single repository will fix that, TBH.</div>

<div><br></div><div>BTW, Maven rebuilds every module in the reactor every time you run a build. On my machine, it takes 6 minutes to build everything in the Infinispan reactor. Would you really want to wait 6 minutes every time you want to test something in the server?<br>

</div><div><br></div><div>Cheers</div><div>Dan</div><div><br></div><div><br></div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Nov 18, 2013 at 10:26 PM, Mircea Markus <span dir="ltr">&lt;<a href="mailto:mmarkus@redhat.com" target="_blank">mmarkus@redhat.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I&#39;ve created ISPN-3728 to track this.<br>
<div class="HOEnZb"><div class="h5"><br>
On Nov 18, 2013, at 2:16 PM, Tristan Tarrant &lt;<a href="mailto:ttarrant@redhat.com">ttarrant@redhat.com</a>&gt; wrote:<br>
<br>
&gt; +1, also only the gui-demo should be in the main repo. All other<br>
&gt; examples/demos should be moved to quickstarts or their own repos.<br>
&gt;<br>
&gt; Tristan<br>
&gt;<br>
&gt; On 11/18/2013 09:15 AM, Galder Zamarreņo wrote:<br>
&gt;&gt; On Nov 15, 2013, at 2:02 PM, Sanne Grinovero &lt;<a href="mailto:sanne@infinispan.org">sanne@infinispan.org</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt;&gt; +1<br>
&gt;&gt;&gt; (as I&#39;ve always been, damn my &quot;pessimistic&quot; opinions)<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; However there is an alternative. If I recall correctly, one of your<br>
&gt;&gt;&gt; motivations for the split was to not keep maintaining all the<br>
&gt;&gt;&gt; non-essential components.<br>
&gt;&gt;&gt; I really like that idea, I just think it was implemented the wrong way.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; If you identify which components are non-essential (and you don&#39;t need<br>
&gt;&gt;&gt; them on the release day), you should keep them out but unlock them to<br>
&gt;&gt;&gt; a different version numbering, and especially never ever depend on<br>
&gt;&gt;&gt; snapshot versions.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Let&#39;s try define the requirements:<br>
&gt;&gt;&gt; - any project should compile successfully out of the box<br>
&gt;&gt;&gt; - last minute &quot;surprises&quot; before a release needs to be done is not manageable<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; You could get this easily if you allow the projects which are in a<br>
&gt;&gt;&gt; different repository to lag behind: you can&#39;t require to release those<br>
&gt;&gt;&gt; other projects each time you release an Infinispan &quot;core&quot; version.<br>
&gt;&gt;&gt; Which inherently implies that if you have something which is essential<br>
&gt;&gt;&gt; for a core release, it needs to be moved back to catch failures early<br>
&gt;&gt;&gt; on and keep them in perfect sync.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Other module maintainers would then catch up on compatibility breaking<br>
&gt;&gt;&gt; changes of Infinispan core as (and when) they can. We can of course<br>
&gt;&gt;&gt; have a goal of keeping aligned quickly, but it should be optional<br>
&gt;&gt;&gt; (i.e. non-blocking for innovation and progress on the core module).<br>
&gt;&gt; + 1 to all said above and Mircea&#39;s suggestion.<br>
&gt;&gt;<br>
&gt;&gt; The thing is that Infinispan Server, and a subset of the cache stores really need to be released at the same time as Infinispan core. All those modules would benefit from living in same repo, making the compilation, CI and release much easier. Some examples: Level DB store needs to be brought back, whereas Cassandra cache store can live on its own.<br>


&gt;&gt;<br>
&gt;&gt;&gt; It&#39;s perfectly doable, all our other projects depending on Infinispan<br>
&gt;&gt;&gt; have lived well so far, with the occasional pain to fix some backwards<br>
&gt;&gt;&gt; compatibility issue but that&#39;s part of the dance. For example Search<br>
&gt;&gt;&gt; depends on Hibernate ORM, JGroups and Infinispan.. we try to catch<br>
&gt;&gt;&gt; backwards compatibility with ad-hoc CI jobs but it&#39;s not going to<br>
&gt;&gt;&gt; catch all problems, nor it&#39;s our intention to &quot;block&quot; other projects<br>
&gt;&gt;&gt; from innovating: it&#39;s rather for us to be aware of possible problems<br>
&gt;&gt;&gt; asap.. but none of these problems are allowed to prevent us to release<br>
&gt;&gt;&gt; early and often.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; [BTW the reason the Search case isn&#39;t perfect is because we target<br>
&gt;&gt;&gt; specific platforms like AS/Wildfly, not necessarily the latest<br>
&gt;&gt;&gt; Infinispan]<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Cheers,<br>
&gt;&gt;&gt; Sanne<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; On 15 November 2013 12:43, Mircea Markus &lt;<a href="mailto:mmarkus@redhat.com">mmarkus@redhat.com</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt; Hi guys,<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Given all the compiling problems we had since we&#39;ve split in multiple github repos (server, stores and embedded) makes me think that the split wasn&#39;t such a great idea after all( and that I was hmm, wrong). Shall we move everything back into a single repo? We can still keep different CI runs for cache stores, server etc, but at least all this builds will compile everything.<br>


&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; wdyt?<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Cheers,<br>
&gt;&gt;&gt;&gt; --<br>
&gt;&gt;&gt;&gt; Mircea Markus<br>
&gt;&gt;&gt;&gt; Infinispan lead (<a href="http://www.infinispan.org" target="_blank">www.infinispan.org</a>)<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt;&gt; infinispan-dev mailing list<br>
&gt;&gt;&gt;&gt; <a href="mailto:infinispan-dev@lists.jboss.org">infinispan-dev@lists.jboss.org</a><br>
&gt;&gt;&gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/infinispan-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/infinispan-dev</a><br>
&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt; infinispan-dev mailing list<br>
&gt;&gt;&gt; <a href="mailto:infinispan-dev@lists.jboss.org">infinispan-dev@lists.jboss.org</a><br>
&gt;&gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/infinispan-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/infinispan-dev</a><br>
&gt;&gt;<br>
&gt;&gt; --<br>
&gt;&gt; Galder Zamarreņo<br>
&gt;&gt; <a href="mailto:galder@redhat.com">galder@redhat.com</a><br>
&gt;&gt; <a href="http://twitter.com/galderz" target="_blank">twitter.com/galderz</a><br>
&gt;&gt;<br>
&gt;&gt; Project Lead, Escalante<br>
&gt;&gt; <a href="http://escalante.io" target="_blank">http://escalante.io</a><br>
&gt;&gt;<br>
&gt;&gt; Engineer, Infinispan<br>
&gt;&gt; <a href="http://infinispan.org" target="_blank">http://infinispan.org</a><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">infinispan-dev@lists.jboss.org</a><br>
&gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/infinispan-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/infinispan-dev</a><br>
&gt;&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; infinispan-dev mailing list<br>
&gt; <a href="mailto:infinispan-dev@lists.jboss.org">infinispan-dev@lists.jboss.org</a><br>
&gt; <a href="https://lists.jboss.org/mailman/listinfo/infinispan-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/infinispan-dev</a><br>
<br>
Cheers,<br>
--<br>
Mircea Markus<br>
Infinispan lead (<a href="http://www.infinispan.org" target="_blank">www.infinispan.org</a>)<br>
<br>
<br>
<br>
<br>
<br>
_______________________________________________<br>
infinispan-dev mailing list<br>
<a href="mailto:infinispan-dev@lists.jboss.org">infinispan-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/infinispan-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/infinispan-dev</a><br>
</div></div></blockquote></div><br></div>