diff --git a/buildSrc/src/main/kotlin/com/bugsnag/android/BugsnagBuildPlugin.kt b/buildSrc/src/main/kotlin/com/bugsnag/android/BugsnagBuildPlugin.kt index 74a3e05ed6..5026b29086 100644 --- a/buildSrc/src/main/kotlin/com/bugsnag/android/BugsnagBuildPlugin.kt +++ b/buildSrc/src/main/kotlin/com/bugsnag/android/BugsnagBuildPlugin.kt @@ -67,9 +67,9 @@ class BugsnagBuildPlugin : Plugin { if (bugsnag.compilesCode) { project.configureKotlinOptions() + project.configureCheckstyle() project.apply(from = project.file("../gradle/detekt.gradle")) - project.apply(from = project.file("../gradle/checkstyle.gradle")) } } @@ -215,6 +215,7 @@ class BugsnagBuildPlugin : Plugin { plugins.apply("com.github.hierynomus.license") if (bugsnag.compilesCode) { + plugins.apply("checkstyle") plugins.apply("kotlin-android") plugins.apply("io.gitlab.arturbosch.detekt") plugins.apply("org.jlleitschuh.gradle.ktlint") diff --git a/buildSrc/src/main/kotlin/com/bugsnag/android/Checkstyle.kt b/buildSrc/src/main/kotlin/com/bugsnag/android/Checkstyle.kt new file mode 100644 index 0000000000..989a9ae6ad --- /dev/null +++ b/buildSrc/src/main/kotlin/com/bugsnag/android/Checkstyle.kt @@ -0,0 +1,23 @@ +package com.bugsnag.android + +import org.gradle.api.Project +import org.gradle.api.plugins.quality.Checkstyle +import org.gradle.api.plugins.quality.CheckstyleExtension +import org.gradle.kotlin.dsl.get + +fun Project.configureCheckstyle() { + extensions.getByType(CheckstyleExtension::class.java).apply { + toolVersion = "8.18" + } + + val checkstyle = tasks.register("checkstyle", Checkstyle::class.java) { + configFile = rootProject.file("config/checkstyle/checkstyle.xml") + source = fileTree("src/") { + include("**/*.java") + exclude("**/external/**/*.java") + } + classpath = files() + } + + tasks["check"].dependsOn(checkstyle) +} \ No newline at end of file diff --git a/features/fixtures/mazerunner/app/build.gradle b/features/fixtures/mazerunner/app/build.gradle index 79eab90a7a..d63778abf7 100644 --- a/features/fixtures/mazerunner/app/build.gradle +++ b/features/fixtures/mazerunner/app/build.gradle @@ -94,4 +94,4 @@ dependencies { apply from: "../bugsnag-dependency.gradle" apply from: "../../../../gradle/detekt.gradle" -apply from: "../../../../gradle/checkstyle.gradle" +apply from: "../gradle/checkstyle.gradle" diff --git a/features/fixtures/mazerunner/cxx-scenarios-bugsnag/build.gradle b/features/fixtures/mazerunner/cxx-scenarios-bugsnag/build.gradle index 341504a053..3d2486d0c1 100644 --- a/features/fixtures/mazerunner/cxx-scenarios-bugsnag/build.gradle +++ b/features/fixtures/mazerunner/cxx-scenarios-bugsnag/build.gradle @@ -46,4 +46,4 @@ dependencies { } apply from: "../../../../gradle/detekt.gradle" -apply from: "../../../../gradle/checkstyle.gradle" +apply from: "../gradle/checkstyle.gradle" diff --git a/features/fixtures/mazerunner/cxx-scenarios/build.gradle b/features/fixtures/mazerunner/cxx-scenarios/build.gradle index 9e5c2da16b..ca3600068b 100644 --- a/features/fixtures/mazerunner/cxx-scenarios/build.gradle +++ b/features/fixtures/mazerunner/cxx-scenarios/build.gradle @@ -43,4 +43,4 @@ dependencies { apply from: "../bugsnag-dependency.gradle" apply from: "../../../../gradle/detekt.gradle" -apply from: "../../../../gradle/checkstyle.gradle" +apply from: "../gradle/checkstyle.gradle" diff --git a/gradle/checkstyle.gradle b/features/fixtures/mazerunner/gradle/checkstyle.gradle similarity index 100% rename from gradle/checkstyle.gradle rename to features/fixtures/mazerunner/gradle/checkstyle.gradle diff --git a/features/fixtures/mazerunner/jvm-scenarios/build.gradle b/features/fixtures/mazerunner/jvm-scenarios/build.gradle index 411e5d1294..79f5df6035 100644 --- a/features/fixtures/mazerunner/jvm-scenarios/build.gradle +++ b/features/fixtures/mazerunner/jvm-scenarios/build.gradle @@ -48,4 +48,4 @@ private boolean useLegacyOkHttp() { apply from: "../bugsnag-dependency.gradle" apply from: "../../../../gradle/detekt.gradle" -apply from: "../../../../gradle/checkstyle.gradle" +apply from: "../gradle/checkstyle.gradle"