lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Uwe Schindler" <>
Subject RE: Contrib tests fail if core jar is not up to date
Date Thu, 18 Mar 2010 21:48:10 GMT
Hi Shai,


there is no way to do this with ant (detecting code change). The ant script *always* builds
the jar file. In this case, it is just missing the dependency to jar-core in test-contrib.
Alternatively, test-contrib should not use the jar file at all and simply add build/classes/java
to classpath.


The fix is simple, can do that tomorrow.



Uwe Schindler

H.-H.-Meier-Allee 63, D-28213 Bremen <> 



From: Shai Erera [] 
Sent: Thursday, March 18, 2010 10:34 PM
Subject: Contrib tests fail if core jar is not up to date



I've noticed that sometimes, after I run test-core and test-contrib, and then change core
code, test-contrib fail on NoSuchMethodError and stuff like that. I've noticed that core.jar
exists under build, and I assumed it's used by test-contrib, and probably is not recreated
after core code has changed.

I verified it when looking in contrib-build.xml, which defines a property lucene.jar.present
which is set to true if the jar is ... well, present. Which I believe is the reason for these
failures. I've been thinking how to resolve that, and I can think of two ways:

(1) have test-core always delete that file, but that has two issues:
(1.1) It's redundant if the code hasn't changed.
(1.2) It forces you to either jar-core or test-core before you test-contrib, if you want to
make sure you run w/ the latest jar.


(2) have test-contrib always call jar-core, which will first delete the file and then re-create
it by compiling first. Compiling should not do anything if the code hasn't changed. So the
only waste would be to create the .jar, but I think that's quite fast?

Does anyone, with more Ant skills than me, know of a better way to detect from test-contrib
that core code has changed and only then rebuild the jar?


View raw message