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

Reply via email to