lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Uwe Schindler" <>
Subject RE: Why Does Smoke Tester Fail with Ant 1.10?
Date Sun, 02 Jul 2017 09:19:34 GMT


as said in my previous mail, the release is always done using the minimum versions. The reason
for this is (especially regarding Java version):


The JAR files have to be compiled using the minimum Java version. This is also required by
Oracle’s guidelines, because otherwise they can’t guarantee that the release also works
with the source/target version. So giving source/target is not enough. This will change with
Java 9, where you can give a new parameter “-release 8” that also compiles against the
old symbols. Lucene already uses this when building with Java 9.


So it is important that a release of Lucene 5 is done with Java 7 and nothing else, and a
release of Lucene 6 or 7 needs to be done with Java 8. Smoketester verifies this in the resulting
JAR files (the META-INF folder must contain right version numbers).


About “Ant” we do the same, although this requirement is more questionable. The reason
is: Everything else in Lucene’s build has fixed versions from Maven Central, just Java version
and Ant version is coming from RM’s local machine. So we want to also use the “minimum”
version here – at least for a release, so smoker checks this. This also guarantees that
anybody can at least use the minimum version to build Lucene and Solr.


I don’t think it’s a complicated requirement for the RM to download the ANT zip file and
place it in his home dir! I have a separate user account for this that I SSH in when doing
a release. Jenkins is doing something similar: It just uses the right Ant version (1.8.2)
with an absolute path.


BTW: In Gradle this is similar, you use the Gradle-Wrapper to make repeatable builds with
exact versions! Ant just has no “ant wrapper” 😊





Uwe Schindler

Achterdiek 19, D-28357 Bremen <> 



From: Mike Drob [] 
Sent: Sunday, July 2, 2017 7:15 AM
Subject: Re: Why Does Smoke Tester Fail with Ant 1.10?


Where is the official ant version specified? gives a minimum version,
but not a single version.


Same for Java, actually.

On Sat, Jul 1, 2017, 6:28 PM Uwe Schindler < <>
> wrote:



The reason for the failure is that „nightly smoke“ emulates a release. And for releases
we require the release manager to use:

*	exactly the Java version that the release is intended for (e.g., you cannot make a 6.x release
with Java 9)
*	the offcial Ant version


The reason for these limitations is reproducibility of releases and to prevent bugs that might
appear without our knowledge.





Uwe Schindler

Achterdiek 19, D-28357 Bremen <> 

eMail: <> 


From: <>  [ <>
] On Behalf Of Mike Drob
Sent: Sunday, July 2, 2017 1:22 AM
To: Lucene Dev < <> >
Subject: Why Does Smoke Tester Fail with Ant 1.10?




I was recently running ant nightly-smoke and it failed because my version of ant is too new.
The default installed by homebrew is 1.10.1, while the smoke test expects ant 1.8 or 1.9,
looks like.


Searching for ant 1.10 on the dev list gives me tons of false positives (every jenkins failure,
basically) so I have no idea if this has been discussed or not.


Is the ant version requirement a minimum (1.8+) that was too narrowly implemented or a specific
range due to some known issue in later ant versions?




View raw message