diff options
-rw-r--r-- | build.gradle.kts | 10 | ||||
-rw-r--r-- | buildSrc/build.gradle.kts | 1 | ||||
-rw-r--r-- | buildSrc/src/main/java/Dependencies.kt | 1 | ||||
-rw-r--r-- | buildSrc/src/main/java/Ktfmt.kt | 11 | ||||
-rw-r--r-- | buildSrc/src/main/java/PasswordStorePlugin.kt | 5 |
5 files changed, 28 insertions, 0 deletions
diff --git a/build.gradle.kts b/build.gradle.kts index da32e794..6e57ce2e 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -7,6 +7,16 @@ plugins { `aps-plugin` } +buildscript { + dependencies { + classpath(Plugins.ktfmtGradlePlugin) + } +} + +allprojects { + apply(plugin = "com.ncorti.ktfmt.gradle") +} + subprojects { configurations.all { resolutionStrategy.dependencySubstitution { diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index dbf1218e..4ebe0d76 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -37,6 +37,7 @@ dependencies { implementation(Plugins.dokkaPlugin) implementation(Plugins.downloadTaskPlugin) implementation(Plugins.kotlinGradlePlugin) + implementation(Plugins.ktfmtGradlePlugin) implementation(Plugins.mavenPublishPlugin) implementation(Plugins.semver4j) } diff --git a/buildSrc/src/main/java/Dependencies.kt b/buildSrc/src/main/java/Dependencies.kt index 9541d4da..749f553a 100644 --- a/buildSrc/src/main/java/Dependencies.kt +++ b/buildSrc/src/main/java/Dependencies.kt @@ -11,6 +11,7 @@ object Plugins { const val dokkaPlugin = "org.jetbrains.dokka:dokka-gradle-plugin:1.4.20" const val downloadTaskPlugin = "de.undercouch:gradle-download-task:4.1.1" const val kotlinGradlePlugin = "org.jetbrains.kotlin:kotlin-gradle-plugin:$KOTLIN_VERSION" + const val ktfmtGradlePlugin = "com.ncorti.ktfmt.gradle:plugin:0.4.0" const val mavenPublishPlugin = "com.vanniktech:gradle-maven-publish-plugin:0.13.0" const val semver4j = "com.vdurmont:semver4j:3.1.0" } diff --git a/buildSrc/src/main/java/Ktfmt.kt b/buildSrc/src/main/java/Ktfmt.kt new file mode 100644 index 00000000..5620c3bd --- /dev/null +++ b/buildSrc/src/main/java/Ktfmt.kt @@ -0,0 +1,11 @@ +/* + * Copyright © 2014-2020 The Android Password Store Authors. All Rights Reserved. + * SPDX-License-Identifier: GPL-3.0-only + */ + +import com.ncorti.ktfmt.gradle.KtfmtExtension + +fun KtfmtExtension.configureKtfmt() { + googleStyle() + maxWidth.set(120) +} diff --git a/buildSrc/src/main/java/PasswordStorePlugin.kt b/buildSrc/src/main/java/PasswordStorePlugin.kt index b8271f65..88bf5e74 100644 --- a/buildSrc/src/main/java/PasswordStorePlugin.kt +++ b/buildSrc/src/main/java/PasswordStorePlugin.kt @@ -7,6 +7,8 @@ import com.android.build.gradle.TestedExtension import com.android.build.gradle.internal.dsl.BaseAppModuleExtension import com.android.build.gradle.internal.plugins.AppPlugin import com.android.build.gradle.internal.plugins.LibraryPlugin +import com.ncorti.ktfmt.gradle.KtfmtExtension +import com.ncorti.ktfmt.gradle.KtfmtPlugin import org.gradle.api.Plugin import org.gradle.api.Project import org.gradle.api.plugins.JavaLibraryPlugin @@ -41,6 +43,9 @@ class PasswordStorePlugin : Plugin<Project> { project.extensions.getByType<BaseAppModuleExtension>().configureBuildSigning(project) project.extensions.getByType<TestedExtension>().configureCommonAndroidOptions() } + is KtfmtPlugin -> { + project.extensions.getByType<KtfmtExtension>().configureKtfmt() + } } } } |