You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "mck (JIRA)" <ji...@apache.org> on 2018/07/29 06:32:00 UTC

[jira] [Comment Edited] (CASSANDRA-14563) Add animalsniffer to build to ensure runtime jdk compatbility

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

mck edited comment on CASSANDRA-14563 at 7/29/18 6:31 AM:
----------------------------------------------------------

By "compile-time" i was thinking about local compile-time before the developer does a 'git push'.

 - Providing a CircleCI build job provides support compiling Cassandra-2.2 with jdk1.7.
 - Using AnimalSniffer in the ant build ensures we support runing Cassandra-2.2 with jdk1.7.

These are not the same thing. And the later is the specific requirement here.

While using CircleCI does solve both, it is a slower feedback loop for developers. Developers don't typically remember to *also* compile with jdk1.7 locally before pushing their patch.

AnimalSniffer solves just the second problem, and provides a faster feedback loop for developers. 

And we do not need to support compiling with jdk1.7, and we do not cut releases with jdk1.7 afaik. 
With the use of AnimalSniffer we could altogether forbid building Cassandra-2.2 with jdk1.7, making life simpler for us by taking a variable out of the building environment.

[~jasobrown], 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?


was (Author: michaelsembwever):
By "compile-time" i was thinking about local compile-time before the developer does a 'git push'.

 - Providing a CircleCI build job provides support compiling Cassandra-2.2 with jdk1.7.
 - Using AnimalSniffer in the ant build ensures we support runing Cassandra-2.2 with jdk1.7.

These are not the same thing. And the later is the specific requirement here.

While using CircleCI does solve both, it is a slower feedback loop for developers. Developers don't typically remember to *also* compile with jdk1.7 locally before pushing their patch.

AnimalSniffer solves just the second problem, and provides a faster feedback loop for developers. 

And we do not need to support compiling with jdk1.7, and we do no cut releases with jdk1.7 afaik. 
With the use of AnimalSniffer we could altogether forbid building Cassandra-2.2 with jdk1.7, making life simpler for us by taking a variable out of the building environment.

[~jasobrown], 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?

> 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-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org