cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stefan Podkowinski (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (CASSANDRA-13175) Integrate "Error Prone" Code Analyzer
Date Thu, 07 Sep 2017 13:19:00 GMT

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

Stefan Podkowinski edited comment on CASSANDRA-13175 at 9/7/17 1:18 PM:
------------------------------------------------------------------------

The javac error that causes ant to fail is the following. Everything else is just a warning.


{noformat}
    [javac] /home/ubuntu/cassandra/src/java/org/apache/cassandra/utils/Throwables.java:80:
error: unreported exception Exception; must be caught or declared to be thrown
    [javac]         perform(Stream.of(actions));
    [javac]                ^
{noformat}

Seems like javac isn't able to infer the types. Using an explicit declaration for the Stream.of()
value will fix this. But now I'm getting [another issue|https://circleci.com/gh/spodkowinski/cassandra/123#tests/containers/3]
saying that {{MoreExecutors.sameThreadExecutor())}} cannot be found. This seems to be due
to [#492|https://github.com/google/error-prone/issues/492]. Again, the newer guava version
used by errorprone breaks the build. -Why this isn't the case on my local machine is still
beyond me; classpath issues I guess..- Edit: solved, use {{ant realclean}} to reproduce


was (Author: spodxx@gmail.com):
The javac error that causes ant to fail is the following. Everything else is just a warning.


{noformat}
    [javac] /home/ubuntu/cassandra/src/java/org/apache/cassandra/utils/Throwables.java:80:
error: unreported exception Exception; must be caught or declared to be thrown
    [javac]         perform(Stream.of(actions));
    [javac]                ^
{noformat}

Seems like javac isn't able to infer the types. Using an explicit declaration for the Stream.of()
value will fix this. But now I'm getting [another issue|https://circleci.com/gh/spodkowinski/cassandra/123#tests/containers/3]
saying that {{MoreExecutors.sameThreadExecutor())}} cannot be found. This seems to be due
to [#492|https://github.com/google/error-prone/issues/492]. Again, the newer guava version
used by errorprone breaks the build. -Why this isn't the case on my local machine is still
beyond me; classpath issues I guess..- Edit: solved, use {{ant realclean}}

> Integrate "Error Prone" Code Analyzer
> -------------------------------------
>
>                 Key: CASSANDRA-13175
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-13175
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Stefan Podkowinski
>            Assignee: Stefan Podkowinski
>         Attachments: 0001-Add-Error-Prone-code-analyzer.patch, checks-2_2.out, checks-3_0.out,
checks-trunk.out
>
>
> I've been playing with [Error Prone|http://errorprone.info/] by integrating it into the
build process and to see what kind of warnings it would produce. So far I'm positively impressed
by the coverage and usefulness of some of the implemented checks. See attachments for results.
> Unfortunately there are still some issues on how the analyzer is effecting generated
code and used guava versions, see [#492|https://github.com/google/error-prone/issues/492].
In case those issues have been solved and the resulting code isn't affected by the analyzer,
I'd suggest to add it to trunk with warn only behaviour and some less useful checks disabled.
Alternatively a new ant target could be added, maybe with build breaking checks and CI integration.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

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


Mime
View raw message