HBASE-12261 Add checkstyle to HBase build process
This commit is contained in:
parent
686e77108a
commit
487b58313c
|
@ -220,7 +220,6 @@ setup () {
|
||||||
against trunk revision ${SVN_REVISION}.
|
against trunk revision ${SVN_REVISION}.
|
||||||
ATTACHMENT ID: ${ATTACHMENT_ID}"
|
ATTACHMENT ID: ${ATTACHMENT_ID}"
|
||||||
|
|
||||||
#PENDING: cp -f $SUPPORT_DIR/etc/checkstyle* ./src/test
|
|
||||||
### Copy the patch file to $PATCH_DIR
|
### Copy the patch file to $PATCH_DIR
|
||||||
else
|
else
|
||||||
VERSION=PATCH-${defect}
|
VERSION=PATCH-${defect}
|
||||||
|
@ -250,16 +249,17 @@ setup () {
|
||||||
echo "======================================================================"
|
echo "======================================================================"
|
||||||
echo ""
|
echo ""
|
||||||
echo ""
|
echo ""
|
||||||
echo "$MVN clean test -DskipTests -D${PROJECT_NAME}PatchProcess > $PATCH_DIR/trunkJavacWarnings.txt 2>&1"
|
echo "$MVN clean package checkstyle:checkstyle-aggregate -DskipTests -D${PROJECT_NAME}PatchProcess > $PATCH_DIR/trunkJavacWarnings.txt 2>&1"
|
||||||
export MAVEN_OPTS="${MAVEN_OPTS}"
|
export MAVEN_OPTS="${MAVEN_OPTS}"
|
||||||
# build core and tests
|
# build core and tests
|
||||||
$MVN clean test -DskipTests -D${PROJECT_NAME}PatchProcess > $PATCH_DIR/trunkJavacWarnings.txt 2>&1
|
$MVN clean package checkstyle:checkstyle-aggregate -DskipTests -D${PROJECT_NAME}PatchProcess > $PATCH_DIR/trunkJavacWarnings.txt 2>&1
|
||||||
if [[ $? != 0 ]] ; then
|
if [[ $? != 0 ]] ; then
|
||||||
ERR=`$GREP -A 5 'Compilation failure' $PATCH_DIR/trunkJavacWarnings.txt`
|
ERR=`$GREP -A 5 'Compilation failure' $PATCH_DIR/trunkJavacWarnings.txt`
|
||||||
echo "Trunk compilation is broken?
|
echo "Trunk compilation is broken?
|
||||||
{code}$ERR{code}"
|
{code}$ERR{code}"
|
||||||
cleanupAndExit 1
|
cleanupAndExit 1
|
||||||
fi
|
fi
|
||||||
|
mv target/checkstyle-result.xml $PATCH_DIR/trunkCheckstyle.xml
|
||||||
}
|
}
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
@ -493,6 +493,41 @@ checkJavacWarnings () {
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
checkCheckstyleErrors() {
|
||||||
|
echo ""
|
||||||
|
echo ""
|
||||||
|
echo "======================================================================"
|
||||||
|
echo "======================================================================"
|
||||||
|
echo " Determining number of patched Checkstyle errors."
|
||||||
|
echo "======================================================================"
|
||||||
|
echo "======================================================================"
|
||||||
|
echo ""
|
||||||
|
echo ""
|
||||||
|
if [[ -f $PATCH_DIR/trunkCheckstyle.xml ]] ; then
|
||||||
|
$MVN package -DskipTests checkstyle:checkstyle-aggregate > /dev/null 2>&1
|
||||||
|
mv target/checkstyle-result.xml $PATCH_DIR/patchCheckstyle.xml
|
||||||
|
mv target/site/checkstyle-aggregate.html $PATCH_DIR
|
||||||
|
mv target/site/checkstyle.css $PATCH_DIR
|
||||||
|
trunkCheckstyleErrors=`$GREP '<error' $PATCH_DIR/trunkCheckstyle.xml | $AWK 'BEGIN {total = 0} {total += 1} END {print total}'`
|
||||||
|
patchCheckstyleErrors=`$GREP '<error' $PATCH_DIR/patchCheckstyle.xml | $AWK 'BEGIN {total = 0} {total += 1} END {print total}'`
|
||||||
|
if [[ $patchCheckstyleErrors -gt $trunkCheckstyleErrors ]] ; then
|
||||||
|
JIRA_COMMENT_FOOTER="Checkstyle Errors: $BUILD_URL/artifact/patchprocess/checkstyle-aggregate.html
|
||||||
|
|
||||||
|
$JIRA_COMMENT_FOOTER"
|
||||||
|
|
||||||
|
JIRA_COMMENT="$JIRA_COMMENT
|
||||||
|
|
||||||
|
{color:red}-1 javac{color}. The applied patch generated $patchCheckstyleErrors checkstyle errors (more than the trunk's current $trunkCheckstyleErrors errors)."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
echo "There were $patchCheckstyleErrors checkstyle errors in this patch compared to $trunkCheckstyleErrors on master."
|
||||||
|
fi
|
||||||
|
JIRA_COMMENT="$JIRA_COMMENT
|
||||||
|
|
||||||
|
{color:green}+1 javac{color}. The applied patch does not increase the total number of checkstyle errors"
|
||||||
|
return 0
|
||||||
|
|
||||||
|
}
|
||||||
###############################################################################
|
###############################################################################
|
||||||
checkProtocErrors () {
|
checkProtocErrors () {
|
||||||
echo ""
|
echo ""
|
||||||
|
@ -556,41 +591,6 @@ $JIRA_COMMENT_FOOTER"
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
### Check there are no changes in the number of Checkstyle warnings
|
|
||||||
checkStyle () {
|
|
||||||
echo ""
|
|
||||||
echo ""
|
|
||||||
echo "======================================================================"
|
|
||||||
echo "======================================================================"
|
|
||||||
echo " Determining number of patched checkstyle warnings."
|
|
||||||
echo "======================================================================"
|
|
||||||
echo "======================================================================"
|
|
||||||
echo ""
|
|
||||||
echo ""
|
|
||||||
echo "THIS IS NOT IMPLEMENTED YET"
|
|
||||||
echo ""
|
|
||||||
echo ""
|
|
||||||
echo "$MVN package checkstyle:checkstyle -D${PROJECT_NAME}PatchProcess -DskipTests"
|
|
||||||
export MAVEN_OPTS="${MAVEN_OPTS}"
|
|
||||||
$MVN package checkstyle:checkstyle -D${PROJECT_NAME}PatchProcess -DskipTests
|
|
||||||
|
|
||||||
JIRA_COMMENT_FOOTER="Checkstyle results: $BUILD_URL/artifact/trunk/build/test/checkstyle-errors.html
|
|
||||||
$JIRA_COMMENT_FOOTER"
|
|
||||||
### TODO: calculate actual patchStyleErrors
|
|
||||||
# patchStyleErrors=0
|
|
||||||
# if [[ $patchStyleErrors != 0 ]] ; then
|
|
||||||
# JIRA_COMMENT="$JIRA_COMMENT
|
|
||||||
#
|
|
||||||
# {color:red}-1 checkstyle{color}. The patch generated $patchStyleErrors code style errors."
|
|
||||||
# return 1
|
|
||||||
# fi
|
|
||||||
# JIRA_COMMENT="$JIRA_COMMENT
|
|
||||||
#
|
|
||||||
# {color:green}+1 checkstyle{color}. The patch generated 0 code style errors."
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
### Check there are no changes in the number of Findbugs warnings
|
### Check there are no changes in the number of Findbugs warnings
|
||||||
checkFindbugsWarnings () {
|
checkFindbugsWarnings () {
|
||||||
|
@ -763,9 +763,9 @@ checkSiteXml () {
|
||||||
echo ""
|
echo ""
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
echo "$MVN compile site -DskipTests -D${PROJECT_NAME}PatchProcess > $PATCH_DIR/patchSiteOutput.txt 2>&1"
|
echo "$MVN package site -DskipTests -D${PROJECT_NAME}PatchProcess > $PATCH_DIR/patchSiteOutput.txt 2>&1"
|
||||||
export MAVEN_OPTS="${MAVEN_OPTS}"
|
export MAVEN_OPTS="${MAVEN_OPTS}"
|
||||||
$MVN compile site -DskipTests -D${PROJECT_NAME}PatchProcess > $PATCH_DIR/patchSiteOutput.txt 2>&1
|
$MVN package site -DskipTests -D${PROJECT_NAME}PatchProcess > $PATCH_DIR/patchSiteOutput.txt 2>&1
|
||||||
if [[ $? != 0 ]] ; then
|
if [[ $? != 0 ]] ; then
|
||||||
JIRA_COMMENT="$JIRA_COMMENT
|
JIRA_COMMENT="$JIRA_COMMENT
|
||||||
|
|
||||||
|
@ -911,9 +911,8 @@ checkProtocErrors
|
||||||
(( RESULT = RESULT + $? ))
|
(( RESULT = RESULT + $? ))
|
||||||
checkJavadocWarnings
|
checkJavadocWarnings
|
||||||
(( RESULT = RESULT + $? ))
|
(( RESULT = RESULT + $? ))
|
||||||
### Checkstyle not implemented yet
|
checkCheckstyleErrors
|
||||||
#checkStyle
|
(( RESULT = RESULT + $? ))
|
||||||
#(( RESULT = RESULT + $? ))
|
|
||||||
checkFindbugsWarnings
|
checkFindbugsWarnings
|
||||||
(( RESULT = RESULT + $? ))
|
(( RESULT = RESULT + $? ))
|
||||||
checkReleaseAuditWarnings
|
checkReleaseAuditWarnings
|
||||||
|
|
|
@ -0,0 +1,32 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<!--
|
||||||
|
/**
|
||||||
|
* 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.
|
||||||
|
*/
|
||||||
|
-->
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<groupId>org.apache.hbase</groupId>
|
||||||
|
<artifactId>hbase-checkstyle</artifactId>
|
||||||
|
<version>2.0.0-SNAPSHOT</version>
|
||||||
|
<name>HBase - Checkstyle</name>
|
||||||
|
<description>Module to hold Checkstyle properties for HBase.</description>
|
||||||
|
|
||||||
|
|
||||||
|
</project>
|
|
@ -0,0 +1,8 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<!DOCTYPE suppressions PUBLIC
|
||||||
|
"-//Puppy Crawl//DTD Suppressions 1.0//EN"
|
||||||
|
"http://www.puppycrawl.com/dtds/suppressions_1_0.dtd">
|
||||||
|
<suppressions>
|
||||||
|
<suppress checks="." files=".*/generated/.*\.java"/>
|
||||||
|
<suppress checks="MagicNumberCheck" files=".*Test\.java"/>
|
||||||
|
</suppressions>
|
|
@ -0,0 +1,32 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
|
||||||
|
"http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
|
||||||
|
<module name="Checker">
|
||||||
|
<module name="FileTabCharacter"/>
|
||||||
|
<module name="TreeWalker">
|
||||||
|
<module name="AvoidStarImport"/>
|
||||||
|
<module name="RedundantImport"/>
|
||||||
|
<module name="UnusedImports"/>
|
||||||
|
<module name="LineLength">
|
||||||
|
<property name="max" value="100"/>
|
||||||
|
<property name="ignorePattern" value="^package.*|^import.*|a href|href|http://|https://|ftp://"/>
|
||||||
|
</module>
|
||||||
|
<module name="MethodLength"/>
|
||||||
|
<module name="MethodParamPad"/>
|
||||||
|
<module name="ParenPad"/>
|
||||||
|
<module name="EmptyStatement"/>
|
||||||
|
<module name="EmptyBlock"/>
|
||||||
|
<module name="EqualsHashCode"/>
|
||||||
|
<module name="IllegalInstantiation"/>
|
||||||
|
<module name="InnerAssignment"/>
|
||||||
|
<module name="MissingSwitchDefault"/>
|
||||||
|
<module name="FinalClass"/>
|
||||||
|
<module name="HideUtilityClassConstructor"/>
|
||||||
|
<module name="InterfaceIsType"/>
|
||||||
|
<module name="VisibilityModifier"/>
|
||||||
|
<module name="ArrayTypeStyle"/>
|
||||||
|
<module name="UpperEll"/>
|
||||||
|
<module name="NoFinalizer"/>
|
||||||
|
<module name="MissingDeprecated"/>
|
||||||
|
</module>
|
||||||
|
</module>
|
42
pom.xml
42
pom.xml
|
@ -63,6 +63,7 @@
|
||||||
<module>hbase-testing-util</module>
|
<module>hbase-testing-util</module>
|
||||||
<module>hbase-annotations</module>
|
<module>hbase-annotations</module>
|
||||||
<module>hbase-rest</module>
|
<module>hbase-rest</module>
|
||||||
|
<module>hbase-checkstyle</module>
|
||||||
</modules>
|
</modules>
|
||||||
<scm>
|
<scm>
|
||||||
<connection>scm:git:git://git.apache.org/hbase.git</connection>
|
<connection>scm:git:git://git.apache.org/hbase.git</connection>
|
||||||
|
@ -664,6 +665,22 @@
|
||||||
<protocCommand>${protoc.path}</protocCommand>
|
<protocCommand>${protoc.path}</protocCommand>
|
||||||
</configuration>
|
</configuration>
|
||||||
</plugin>
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-checkstyle-plugin</artifactId>
|
||||||
|
<version>2.13</version>
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.hbase</groupId>
|
||||||
|
<artifactId>hbase-checkstyle</artifactId>
|
||||||
|
<version>${project.version}</version>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
<configuration>
|
||||||
|
<configLocation>hbase/checkstyle.xml</configLocation>
|
||||||
|
<suppressionsLocation>hbase/checkstyle-suppressions.xml</suppressionsLocation>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
</plugins>
|
</plugins>
|
||||||
</pluginManagement>
|
</pluginManagement>
|
||||||
<plugins>
|
<plugins>
|
||||||
|
@ -713,6 +730,21 @@
|
||||||
</execution>
|
</execution>
|
||||||
</executions>
|
</executions>
|
||||||
</plugin>
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-checkstyle-plugin</artifactId>
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.hbase</groupId>
|
||||||
|
<artifactId>hbase-checkstyle</artifactId>
|
||||||
|
<version>${project.version}</version>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
<configuration>
|
||||||
|
<configLocation>hbase/checkstyle.xml</configLocation>
|
||||||
|
<suppressionsLocation>hbase/checkstyle-suppressions.xml</suppressionsLocation>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
<!--Build the documentation. We build it twice. Once as a single page and then
|
<!--Build the documentation. We build it twice. Once as a single page and then
|
||||||
again as multipage.-->
|
again as multipage.-->
|
||||||
<plugin>
|
<plugin>
|
||||||
|
@ -2362,7 +2394,15 @@
|
||||||
</reportSet>
|
</reportSet>
|
||||||
</reportSets>
|
</reportSets>
|
||||||
</plugin>
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-checkstyle-plugin</artifactId>
|
||||||
|
<version>2.13</version>
|
||||||
|
<configuration>
|
||||||
|
<configLocation>hbase/checkstyle.xml</configLocation>
|
||||||
|
<suppressionsLocation>hbase/checkstyle-suppressions.xml</suppressionsLocation>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
</plugins>
|
</plugins>
|
||||||
</reporting>
|
</reporting>
|
||||||
<distributionManagement>
|
<distributionManagement>
|
||||||
|
|
Loading…
Reference in New Issue