RE "an external system like Maven" -- we're merely talking about adding another JAR repo to the list of repos we already have. Heck, for this limited purpose, we could even use http://home.apache.org/~dsmiley/ Note that the Lucene project already uses home dirs of some users for benchmark data. If we were talking about adding a Maven *build* then I would totally appreciate your concern.
I volunteer to use my space for this purpose. ~ David Smiley Apache Lucene/Solr Search Developer http://www.linkedin.com/in/davidwsmiley On Sun, May 2, 2021 at 12:17 AM Ishan Chattopadhyaya < [email protected]> wrote: > > Let’s not complicate things. > By bringing in external systems like Maven, I think we're complicating > things even though a straight forward way (git submodules) exists. > > On Sat, May 1, 2021 at 5:00 PM Jan Høydahl <[email protected]> > wrote: > >> Sub modules is for organizing internal repos, not for pulling in external >> deps. Let’s not complicate things. And once we switch main to 10.x we’d >> need to use pure jar dependencies in branch_9x to depend upon actually >> released and voted Lucene binaries. >> >> We need some tooling to smoothly work with bleeding edge Lucene including >> local snapshot builds with not yet pushed changes to Lucene. I’d rather put >> in some work to establish such tooling or procedures. >> >> Jan Høydahl >> >> 1. mai 2021 kl. 08:41 skrev Ishan Chattopadhyaya < >> [email protected]>: >> >> >> > What submodules don't solve is releases - if you're >> > on a >> particular unreleased Lucene version then releasing >> > Solr would still mean you need some kind of >> > "public" pinned Lucene release for the >> > Mavenworld. >> >> >> Can we then update the submodule to point to the release tag or sha that >> Lucene got released from? >> >> On Sat, 1 May, 2021, 11:45 am Dawid Weiss, <[email protected]> wrote: >> >>> > Other than literally adding the git submodule, would we do anything >>> else to modify the gradle build so that or do we (and Jenkinsfile) have to >>> manually do a step to install Lucene before proceeding? >>> >>> Technically you add a submodule and then make a composite build from >>> Solr side. I can provide a PR that does it if you wish... This is >>> simple. What submodules don't solve is releases - if you're on a >>> particular unreleased Lucene version then releasing Solr would still >>> mean you need some kind of "public" pinned Lucene release for the >>> Maven world. If you distribute the entire thing as binaries you can >>> just publish a snapshot of Lucene code, of course. >>> >>> > I think adding git submodule means that we have to add back in all the >>> build code for it. >>> >>> No. The submodule is just a reference to a particular repository (and >>> commit) - the build code and remains nearly identical as it was with >>> Lucene. Composite builds in gradle are quite nice in that they're >>> (almost) transparent compared to dependency references. >>> >>> > At which point, I'd rather just copy and commit the >>> > code they have so we don't have to learn another git system. >>> >>> It's not really a different git system - it's a mechanism of >>> interacting with multiple repositories at once. Yes, it does add some >>> additional complexity but I think sooner or later you'll have to >>> interact with it anyway - many people favor monorepos these days and >>> this is a common way to assemble them from fragmented >>> sub-repositories. >>> >>> > I've >>> > heard submodules don't play nice with Jenkins, but don't have any >>> > direct experience with them. >>> >>> Some tools may require an additional flag to initialize and clone >>> sub-modules on the initial pull. Or manually. >>> >>> git submodule init >>> git submodule update --recursive. >>> >>> To summarize - I am not pushing for submodules, I do think they're a >>> viable alternative but pinned Maven references are simpler. The >>> problem with maven references is that we'd need a long(er) term maven >>> repository where such pinned references would live (without being >>> wiped out). Perhaps infra can help here and it'd solve the problem. >>> >>> Dawid >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [email protected] >>> For additional commands, e-mail: [email protected] >>> >>>
