summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.circleci/config.yml16
-rw-r--r--build.gradle11
-rw-r--r--config/checkstyle/checkstyle.xml28
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>