flink-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FLINK-6107) Add custom checkstyle for flink-streaming-java
Date Sat, 25 Mar 2017 12:55:42 GMT

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

ASF GitHub Bot commented on FLINK-6107:
---------------------------------------

Github user greghogan commented on a diff in the pull request:

    https://github.com/apache/flink/pull/3567#discussion_r108035621
  
    --- Diff: tools/maven/strict-checkstyle.xml ---
    @@ -0,0 +1,550 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!--
    +Licensed to the Apache Software Foundation (ASF) under one
    +or more contributor license agreements.  See the NOTICE file
    +distributed with this work for additional information
    +regarding copyright ownership.  The ASF licenses this file
    +to you under the Apache License, Version 2.0 (the
    +"License"); you may not use this file except in compliance
    +with the License.  You may obtain a copy of the License at
    +
    +  http://www.apache.org/licenses/LICENSE-2.0
    +
    +Unless required by applicable law or agreed to in writing,
    +software distributed under the License is distributed on an
    +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    +KIND, either express or implied.  See the License for the
    +specific language governing permissions and limitations
    +under the License.
    +-->
    +<!DOCTYPE module PUBLIC
    +    "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
    +    "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
    +
    +<!--
    +This is a checkstyle configuration file. For descriptions of
    +what the following rules do, please see the checkstyle configuration
    +page at http://checkstyle.sourceforge.net/config.html.
    +
    +This file is based on the checkstyle file of Apache Beam.
    +-->
    +
    +<module name="Checker">
    +
    +  <!--<module name="FileTabCharacter">-->
    +    <!--&lt;!&ndash; Checks that there are no tab characters in the file.
&ndash;&gt;-->
    +  <!--</module>-->
    +
    +  <module name="NewlineAtEndOfFile">
    +    <!-- windows can use \n\r vs \n, so enforce the most used one ie UNIx style -->
    +    <property name="lineSeparator" value="lf" />
    +  </module>
    +
    +  <module name="RegexpSingleline">
    +    <!-- Checks that TODOs don't have stuff in parenthesis, e.g., username. -->
    +    <property name="format" value="((//.*)|(\*.*))TODO\(" />
    +    <property name="message" value="TODO comments must not include usernames." />
    +    <property name="severity" value="error" />
    +  </module>
    +
    +  <module name="RegexpSingleline">
    +    <property name="format" value="\s+$"/>
    +    <property name="message" value="Trailing whitespace"/>
    +    <property name="severity" value="error"/>
    +  </module>
    +
    +  <module name="RegexpSingleline">
    +    <property name="format" value="Throwables.propagate\("/>
    +    <property name="message" value="Throwables.propagate is deprecated"/>
    +    <property name="severity" value="error"/>
    +  </module>
    +
    +  <!-- Prevent *Tests.java as tools may not pick them up -->
    +  <!--<module name="RegexpOnFilename">-->
    +    <!--<property name="fileNamePattern" value=".*Tests\.java$" />-->
    +  <!--</module>-->
    +
    +  <!-- Allow use of comment to suppress javadocstyle -->
    +  <module name="SuppressionCommentFilter">
    +    <property name="offCommentFormat" value="CHECKSTYLE.OFF\: ([\w\|]+)"/>
    +    <property name="onCommentFormat" value="CHECKSTYLE.ON\: ([\w\|]+)"/>
    +    <property name="checkFormat" value="$1"/>
    +  </module>
    +  <module name="SuppressionFilter">
    +    <property name="file" value="${checkstyle.suppressions.file}" default="suppressions.xml"
/>
    +  </module>
    +
    +  <!-- Check that every module has a package-info.java -->
    +  <!--<module name="JavadocPackage"/>-->
    +
    +  <!--
    +
    +  FLINK CUSTOM CHECKS
    +
    +  -->
    +
    +  <module name="FileLength">
    +    <property name="max" value="2500"/>
    +  </module>
    +
    +  <!-- All Java AST specific tests live under TreeWalker module. -->
    +  <module name="TreeWalker">
    +
    +    <!--
    +
    +    FLINK CUSTOM CHECKS
    +
    +    -->
    +
    +    <module name="RegexpSinglelineJava">
    +      <property name="format" value="^\t* +\t*\S" />
    +      <property name="message"
    +                value="Line has leading space characters; indentation should be performed
with tabs only." />
    +      <property name="ignoreComments" value="true" />
    +    </module>
    +
    +    <!-- Prohibit T.getT() methods for standard boxed types -->
    +    <module name="Regexp">
    +      <property name="format" value="Boolean\.getBoolean"/>
    +      <property name="illegalPattern" value="true"/>
    +      <property name="message" value="Use System.getProperties() to get system properties."/>
    --- End diff --
    
    The section comment is `<!-- Prohibit T.getT() methods for standard boxed types -->`.


> Add custom checkstyle for flink-streaming-java
> ----------------------------------------------
>
>                 Key: FLINK-6107
>                 URL: https://issues.apache.org/jira/browse/FLINK-6107
>             Project: Flink
>          Issue Type: Improvement
>          Components: DataStream API
>            Reporter: Aljoscha Krettek
>            Assignee: Aljoscha Krettek
>
> There was some consensus on the ML (https://lists.apache.org/thread.html/94c8c5186b315c58c3f8aaf536501b99e8b92ee97b0034dee295ff6a@%3Cdev.flink.apache.org%3E)
that we want to have a more uniform code style. We should start module-by-module and by introducing
increasingly stricter rules. We have to be aware of the PR situation and ensure that we have
minimal breakage for contributors.
> This issue aims at adding a custom checkstyle.xml for {{flink-streaming-java}} that is
based on our current checkstyle.xml but adds these checks for Javadocs:
> {code}
> <!--
> JAVADOC CHECKS
> -->
> <!-- Checks for Javadoc comments.                     -->
> <!-- See http://checkstyle.sf.net/config_javadoc.html -->
> <module name="JavadocMethod">
>   <property name="scope" value="protected"/>
>   <property name="severity" value="error"/>
>   <property name="allowMissingJavadoc" value="true"/>
>   <property name="allowMissingParamTags" value="true"/>
>   <property name="allowMissingReturnTag" value="true"/>
>   <property name="allowMissingThrowsTags" value="true"/>
>   <property name="allowThrowsTagsForSubclasses" value="true"/>
>   <property name="allowUndeclaredRTE" value="true"/>
> </module>
> <!-- Check that paragraph tags are used correctly in Javadoc. -->
> <module name="JavadocParagraph"/>
> <module name="JavadocType">
>   <property name="scope" value="protected"/>
>   <property name="severity" value="error"/>
>   <property name="allowMissingParamTags" value="true"/>
> </module>
> <module name="JavadocStyle">
>   <property name="severity" value="error"/>
>   <property name="checkHtml" value="true"/>
> </module>
> {code}
> This checks:
>  - Every type has a type-level Javadoc
>  - Proper use of {{<p>}} in Javadocs
>  - First sentence must end with a proper punctuation mark
>  - Proper use (including closing) of HTML tags



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message