You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2016/05/19 20:11:12 UTC

[jira] [Commented] (BEAM-176) Enable FindBugs static analysis during maven build

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

ASF GitHub Bot commented on BEAM-176:
-------------------------------------

GitHub user swegner opened a pull request:

    https://github.com/apache/incubator-beam/pull/357

    [BEAM-176] Add FindBugs analysis to the build

    Be sure to do all of the following to help us incorporate your contribution
    quickly and easily:
    
     - [ ] Make sure the PR title is formatted like:
       `[BEAM-<Jira issue #>] Description of pull request`
     - [ ] Make sure tests pass via `mvn clean verify`. (Even better, enable
           Travis-CI on your fork and ensure the whole test matrix passes).
     - [ ] Replace `<Jira issue #>` in the title with the actual Jira issue
           number, if there is one.
     - [ ] If this contribution is large, please file an Apache
           [Individual Contributor License Agreement](https://www.apache.org/licenses/icla.txt).
    
    ---
    
    FindBugs is a static analysis tool which looks for common coding issues in Java code. See: http://findbugs.sourceforge.net/
    
    This PR integrates FindBugs into the build process using findbugs-maven-plugin, and subscribes java-sdk-all for analysis.
    
    The codebase currently generates many Findbugs issues, which have been added in the findbugs-filter.xml file as a baseline. These issues should be triaged and fixed over time.
    
    There will be some cases where we choose to ignore issues reported by FindBugs. In such a case, the issue should be suppressed in code via the `@SuppressFBWarnings` annotation with a comment describing why it is suppressed.


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/swegner/incubator-beam findbugs

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/incubator-beam/pull/357.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #357
    
----
commit 10bd439e0650c183bb667366399444ef0998bd04
Author: Scott Wegner <sw...@google.com>
Date:   2016-05-16T22:44:45Z

    Add FindBugs analysis to the build
    
    FindBugs is a static analysis tool which looks for common
    coding issues in Java code. See: http://findbugs.sourceforge.net/
    
    This commit integrates FindBugs into the build process using
    findbugs-maven-plugin, and subscribes java-sdk-all for analysis.
    
    The codebase currently generates many Findbugs issues, which have
    been added in the findbugs-filter.xml file as a baseline. These issues
    should be triaged and fixed over time.
    
    There will be some cases where we choose to ignore issues reported by
    FindBugs. In such a case, the issue should be suppressed in code via
    the @SuppressFBWarnings annotation with a comment describing why it
    is suppressed.

commit f8706b536788ebbe415648a7658a9bd599ada7ad
Author: Scott Wegner <sw...@google.com>
Date:   2016-05-16T23:39:39Z

    Disable not useful DM_STRING_CTOR warnings
    
    These seem to pop up for normal string concatenation.

commit 195bd8e435eeade822e5d9a0798df633c23a2149
Author: Scott Wegner <sw...@google.com>
Date:   2016-05-19T18:47:02Z

    Fix AvroCoder log message null reference.

commit feaaac1492977f06bcc2dc5980ca7a3f63dacffe
Author: Scott Wegner <sw...@google.com>
Date:   2016-05-19T19:53:23Z

    Suppress FindBugs warning for checked null dereference

commit 94b79eb8a11e107ed3a78873bc050a9d33351913
Author: Scott Wegner <sw...@google.com>
Date:   2016-05-19T19:58:34Z

    Disable not nuseful SE_NO_SERIALVERSIONID warnings

----


> Enable FindBugs static analysis during maven build
> --------------------------------------------------
>
>                 Key: BEAM-176
>                 URL: https://issues.apache.org/jira/browse/BEAM-176
>             Project: Beam
>          Issue Type: Improvement
>          Components: sdk-java-core
>            Reporter: Scott Wegner
>         Attachments: FindBugsResult_4_6_16_9_42_AM.html, FindBugsResult_4_6_16_9_42_AM.xml
>
>
> [FindBugs|http://findbugs.sourceforge.net/] is a java static analysis tools to find common coding issues that may result in bugs.
> Running it over Beam repository with default configuration surfaces 195 "bugs", 20 categorized as "high priority". Browsing through, some are obvious issues that should be fixed. For example:
> bq. [FileBasedSink.java:635|https://github.com/apache/incubator-beam/blob/9793fa2c860279b8c90254260c87e5665b000254/sdks/java/core/src/main/java/com/google/cloud/dataflow/sdk/io/FileBasedSink.java#L635]: More arguments are passed than are actually used in the format string
> bq. [ApproximateQuantiles.java:346|https://github.com/apache/incubator-beam/blob/9793fa2c860279b8c90254260c87e5665b000254/sdks/java/core/src/main/java/com/google/cloud/dataflow/sdk/transforms/ApproximateQuantiles.java#L346]: Integral value cast to double and then passed to Math.ceil
> FindBugs also has a [maven plugin|http://gleclaire.github.io/findbugs-maven-plugin/index.html], which can be used to either generate a report of found-issues, or fail the build.
> I recommend we enable FindBugs as a quality gate during our build.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)