What do we mean "support multiple JDKs" ?
Are we talking Run-time or Compile-time? 


> If we support multiple JDKs, at a minimum we should compile code against 
> those JDKs. 


Why? I really don't get that logic.

There's a cost-optimisation here in reducing what we have to support.

If we support compiling with multiple JDKs and running with multiple JDKs, then 
we've a matrix of things to test. And it's kinda odd i think, when we don't 
need to compile against multiple JDKs and don't distribute releases built on 
different JDKs.

The suggestion to use the AnimalSniffer ant task was a way to simply this.

That is, so we can 
 - only build with one JDK (the same we build releases with),
 - run unit tests only against that JDK,
 - run dtests against multiple JDKs.

Ensuring at compile-time that earlier JDKs are supported at run-time then is 
done using the AnimalSniffer ant task. It doesn't just simply the testing 
matrix, but provides a quick feedback loop to the developer when they 
accidentally code against a java api that's not available in the older JDK.

There's also two contexts here: Cassandra-2.2 (jdks 1.7 and 1.8) and 
Cassandra-4.0 (jdks 1.8 and 11).
I don't know if it's possible, but it would be awesome once jdk11 is released 
that it's the only jdk we use to compile Cassandra-4.0+ with.

regards,
Mick

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@cassandra.apache.org
For additional commands, e-mail: dev-h...@cassandra.apache.org

Reply via email to