diff options
-rw-r--r-- | .circleci/config.yml | 16 | ||||
-rw-r--r-- | build.gradle | 11 | ||||
-rw-r--r-- | config/checkstyle/checkstyle.xml | 28 |
3 files changed, 55 insertions, 0 deletions
diff --git a/.circleci/config.yml b/.circleci/config.yml index fccd6d8cb..a4db1befd 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -51,9 +51,25 @@ jobs: - ~/android key: v1-android-{{ checksum "build.gradle" }} + checkstyle: + docker: + - image: circleci/android:api-28 + working_directory: ~/AntennaPod + + steps: + - checkout + + - run: + name: Checkstyle + command: ./gradlew checkstyle + workflows: version: 2 test: jobs: - test + + checkstyle: + jobs: + - checkstyle diff --git a/build.gradle b/build.gradle index 2ca680ccb..1a00c2e65 100644 --- a/build.gradle +++ b/build.gradle @@ -82,3 +82,14 @@ wrapper { def doFreeBuild() { return hasProperty("freeBuild") } + +apply plugin: "checkstyle" +checkstyle { + toolVersion '8.24' +} + +task checkstyle(type: Checkstyle) { + classpath = files() + source "${project.rootDir}" + exclude("**/gen/**") +} diff --git a/config/checkstyle/checkstyle.xml b/config/checkstyle/checkstyle.xml new file mode 100644 index 000000000..4bc3d0b51 --- /dev/null +++ b/config/checkstyle/checkstyle.xml @@ -0,0 +1,28 @@ +<?xml version="1.0"?> +<!DOCTYPE module PUBLIC + "-//Checkstyle//DTD Checkstyle Configuration 1.3//EN" + "https://checkstyle.org/dtds/configuration_1_3.dtd"> +<module name = "Checker"> + <property name="charset" value="UTF-8"/> + + <property name="severity" value="error"/> + + <property name="fileExtensions" value="java, xml"/> + + <module name="TreeWalker"> + <module name="AvoidEscapedUnicodeCharacters"> + <property name="allowEscapesForControlCharacters" value="true"/> + <property name="allowByTailComment" value="true"/> + <property name="allowNonPrintableEscapes" value="true"/> + </module> + <module name="AvoidStarImport"/> + <module name="OneTopLevelClass"/> + <module name="OneStatementPerLine"/> + <module name="ModifierOrder"/> + <module name="PackageName"> + <property name="format" value="^[a-z]+(\.[a-z][a-z0-9]*)*$"/> + <message key="name.invalidPattern" + value="Package name ''{0}'' must match pattern ''{1}''."/> + </module> + </module> +</module> |