summaryrefslogtreecommitdiff
path: root/buildSrc/src/main/kotlin
diff options
context:
space:
mode:
Diffstat (limited to 'buildSrc/src/main/kotlin')
-rw-r--r--buildSrc/src/main/kotlin/SpotlessConfiguration.kt47
1 files changed, 47 insertions, 0 deletions
diff --git a/buildSrc/src/main/kotlin/SpotlessConfiguration.kt b/buildSrc/src/main/kotlin/SpotlessConfiguration.kt
new file mode 100644
index 00000000..3c183c5f
--- /dev/null
+++ b/buildSrc/src/main/kotlin/SpotlessConfiguration.kt
@@ -0,0 +1,47 @@
+import com.diffplug.gradle.spotless.SpotlessExtension
+import com.diffplug.gradle.spotless.SpotlessPlugin
+import org.gradle.api.Project
+import org.gradle.kotlin.dsl.apply
+import org.gradle.kotlin.dsl.configure
+
+val kotlinLicenseHeader = """/*
+ * Copyright © 2014-2019 The Android Password Store Authors. All Rights Reserved.
+ * SPDX-License-Identifier: GPL-2.0
+ */
+""".trimIndent()
+
+fun Project.configureSpotless() {
+ apply<SpotlessPlugin>()
+
+ configure<SpotlessExtension> {
+ java {
+ target("**/src/main/**/*.java")
+ trimTrailingWhitespace()
+ // @Suppress("INACCESSIBLE_TYPE")
+ // licenseHeader(kotlinLicenseHeader)
+ removeUnusedImports()
+ googleJavaFormat().aosp()
+ endWithNewline()
+ }
+
+ kotlinGradle {
+ target("*.gradle.kts", "gradle/*.gradle.kts", "buildSrc/*.gradle.kts")
+ ktlint("0.31.0").userData(mapOf("indent_size" to "4", "continuation_indent_size" to "4"))
+ // @Suppress("INACCESSIBLE_TYPE")
+ // licenseHeader(kotlinLicenseHeader, "import|tasks|apply|plugins|include")
+ trimTrailingWhitespace()
+ indentWithSpaces()
+ endWithNewline()
+ }
+
+ kotlin {
+ target("**/src/main/**/*.kt", "buildSrc/**/*.kt")
+ ktlint("0.31.0").userData(mapOf("indent_size" to "4", "continuation_indent_size" to "4"))
+ // @Suppress("INACCESSIBLE_TYPE")
+ // licenseHeader(kotlinLicenseHeader)
+ trimTrailingWhitespace()
+ indentWithSpaces()
+ endWithNewline()
+ }
+ }
+}