Hi,

 

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

 

-----

Uwe Schindler

Achterdiek 19, D-28357 Bremen

http://www.thetaphi.de <http://www.thetaphi.de/> 

eMail: [email protected]

 

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

 

Where is the official ant version specified?

 

https://github.com/apache/lucene-solr/blob/master/lucene/BUILD.txt gives a 
minimum version, but not a single version.

 

Same for Java, actually.

On Sat, Jul 1, 2017, 6:28 PM Uwe Schindler <[email protected] 
<mailto:[email protected]> > wrote:

Hi,

 

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

 

-----

Uwe Schindler

Achterdiek 19, D-28357 Bremen

http://www.thetaphi.de <http://www.thetaphi.de/> 

eMail: [email protected] <mailto:[email protected]> 

 

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

 

Hi,

 

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?

 

Thanks,

Mike

Reply via email to