[ 
https://issues.apache.org/jira/browse/CASSANDRA-14563?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16578233#comment-16578233
 ] 

Jason Brown commented on CASSANDRA-14563:
-----------------------------------------

bq. having added support for java11, what are you thoughts here? Should we be 
trying to make life simpler for ourselves by focusing on what runtime java 
versions we support while narrowing which versions we support building with?

In CASSANDRA-9608, we compile with either java 8 and java11 JDKs as java11 
support is considered experimental (perhaps not by the time we GA 4.0). As of 
4.0, java11 JDK builds will only run on java11(+), but that's mostly due to the 
JPMS thing (and the deprecation of java.misc.Unsafe). Thus we do need to have 
two supported build JDKs there.

I'm not sure if animalsniffer will help us in the java8/java11 case with the 
whole JPMS situation (I would have to read up again), but it will help in the 
java7/java8 path. 

I'm fine with settling on just those two JDKs for compilation (and java11 just 
for 4.0). What I would like, in addition, is a way to run the utests and dtests 
against those specific JDKs. We obviously do this for the primary supported 
JDK, java8, but having the sanity check for a different JDK is nice.

So, how do we get there? I like both the animalsniffer and CI routes, tbh. At a 
minimum an animalsniffer task in the ant build should be a low bar for the 
java7/java8 builds for 2.2, and we can add that for 2.2. Since it doesn't apply 
to 3.0/3.11 (we only build and run on java8), it's not needed there. If someone 
wants to investigate animalsniffer for the trunk java11 builds, as well, that 
would be fine, as well, but I'm not holding my breath.

wrt CI, I would have though the .circleci route would been the harder path, but 
since [~sumanth.pasupuleti] already did the work in CASSANDRA-14625, I guess we 
have a path forward there. I don't think those CI runs (for java11 on 4.0, for 
instance) should run by default, but having the option is awesome.

> Add animalsniffer to build to ensure runtime jdk compatbility
> -------------------------------------------------------------
>
>                 Key: CASSANDRA-14563
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-14563
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Build
>            Reporter: mck
>            Assignee: Sumanth Pasupuleti
>            Priority: Minor
>              Labels: lhf
>
> Cassandra-2.2 still supports running on JDK1.7
> No tests check this though, as all build and test with JDK1.8
> Adding the ant animalsniffer task can check that jdk1.8 classes or methods 
> are not used accidentally.
> ref: http://www.mojohaus.org/animal-sniffer/animal-sniffer/index.html



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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

Reply via email to