lucene-queryparser has an existing dependency on lucene-sandbox and it puzzled/confused me when first coming across is. Nothing depending on sandbox would seem clearer i.e. it's sandboxed, isolated, contained, etc.
Instead of comments/statements (in caps or otherwise) in the ivy.xml files, could "dependency conventions" be checked via tools (precommit) somehow? Perhaps a separate thread should be started for the question of what other "dependency conventions" we have and wish to keep going forward? Christine From: dev@lucene.apache.org At: 05/30/17 18:34:20 To: dev@lucene.apache.org Subject: Re: [DISCUSS] Sandbox module dependencies On Tue, May 30, 2017 at 1:18 PM Andrzej Białecki <andrzej.biale...@lucidworks.com> wrote: Hi, I’m inclined to say “both core and non-sandbox modules MUST NOT depend on sandbox”. Otherwise it would mean that regular modules, of which users’ expectations are that they are mostly stable and usable, depend on half-baked experimental stuff with no guarantees whatsoever concerning stability and usability, which doesn’t make sense. Definitely. In retrospect my wording was a bit confusing. I meant to say _of course_ lucene-core should not depend on lucene-sandbox. There isn't clarity on other modules, though; hence my discussion proposal. ~ David +1 to explicit mentioning changed dependencies. On 30 May 2017, at 15:14, David Smiley <david.w.smi...@gmail.com> wrote: Within the Lucene project (not talking about Solr), can Lucene modules (other than Core) depend on our lucene-sandbox module? I intuitively assumed "no" but it's purely based on some notion in my head about the role of sandbox and not because of any prior decision. I figure that functionality in sandbox is either half-baked and thus nothing (in Lucene) should depend on that stuff, or the fully baked stuff would graduate to some module that is appropriate. Conversely, I figure the sandbox module can depend on whatever is convenient; it's half-baked code after all. Also, this should be an obvious statement but apparently it needs to be said: if you are introducing or removing a dependency, then say so in your JIRA issue! One shouldn't need to read through a patch (or read a commit diff) to be aware of changes in dependencies! It's important enough to be stated in the JIRA, even if it's a test dependency. And it's not much to ask of us. Perhaps I should commit a statement in caps to this effect in our ivy.xml files to help us not forget? What's prompting this is LUCENE-7838 in which the lucene-classification module in 7.0 now depends on the sandbox module. We *could* get into the particulars of that here but I'd rather this thread just express some general philosophy of approach to the dependencies of this module (and perhaps in general), and then leave specific circumstances to JIRA issues. ~ David -- Lucene/Solr Search Committer, Consultant, Developer, Author, Speaker LinkedIn: http://linkedin.com/in/davidwsmiley | Book: http://www.solrenterprisesearchserver.com -- Lucene/Solr Search Committer, Consultant, Developer, Author, Speaker LinkedIn: http://linkedin.com/in/davidwsmiley | Book: http://www.solrenterprisesearchserver.com