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