summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHarsh Shandilya <me@msfjarvis.dev>2021-03-09 14:41:51 +0530
committerHarsh Shandilya <me@msfjarvis.dev>2021-03-18 11:26:48 +0530
commitcd378d1bbc5ac6bcd206699271f692bab61d308e (patch)
tree3e882723325e9c030bc8a1b18c764cdbbe8d1464
parent5e28cf45e44e26e9ce14ba5f6d46871515533bc9 (diff)
build: apply Ktfmt Gradle plugin
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
-rw-r--r--build.gradle.kts10
-rw-r--r--buildSrc/build.gradle.kts1
-rw-r--r--buildSrc/src/main/java/Dependencies.kt1
-rw-r--r--buildSrc/src/main/java/Ktfmt.kt11
-rw-r--r--buildSrc/src/main/java/PasswordStorePlugin.kt5
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()
+ }
}
}
}