aboutsummaryrefslogtreecommitdiff
path: root/build-logic/kotlin-plugins/src
diff options
context:
space:
mode:
Diffstat (limited to 'build-logic/kotlin-plugins/src')
-rw-r--r--build-logic/kotlin-plugins/src/main/kotlin/com.github.android-password-store.binary-compatibility.gradle.kts11
-rw-r--r--build-logic/kotlin-plugins/src/main/kotlin/com.github.android-password-store.kotlin-common.gradle.kts27
2 files changed, 38 insertions, 0 deletions
diff --git a/build-logic/kotlin-plugins/src/main/kotlin/com.github.android-password-store.binary-compatibility.gradle.kts b/build-logic/kotlin-plugins/src/main/kotlin/com.github.android-password-store.binary-compatibility.gradle.kts
new file mode 100644
index 00000000..053a69ab
--- /dev/null
+++ b/build-logic/kotlin-plugins/src/main/kotlin/com.github.android-password-store.binary-compatibility.gradle.kts
@@ -0,0 +1,11 @@
+/*
+ * Copyright © 2014-2021 The Android Password Store Authors. All Rights Reserved.
+ * SPDX-License-Identifier: GPL-3.0-only
+ */
+
+import kotlinx.validation.ApiValidationExtension
+import org.gradle.kotlin.dsl.configure
+
+plugins { id("org.jetbrains.kotlinx.binary-compatibility-validator") }
+
+extensions.configure<ApiValidationExtension> { ignoredProjects = mutableSetOf("app") }
diff --git a/build-logic/kotlin-plugins/src/main/kotlin/com.github.android-password-store.kotlin-common.gradle.kts b/build-logic/kotlin-plugins/src/main/kotlin/com.github.android-password-store.kotlin-common.gradle.kts
new file mode 100644
index 00000000..71a68d9c
--- /dev/null
+++ b/build-logic/kotlin-plugins/src/main/kotlin/com.github.android-password-store.kotlin-common.gradle.kts
@@ -0,0 +1,27 @@
+/*
+ * Copyright © 2014-2021 The Android Password Store Authors. All Rights Reserved.
+ * SPDX-License-Identifier: GPL-3.0-only
+ */
+
+import org.gradle.api.JavaVersion
+import org.gradle.api.tasks.testing.Test
+import org.gradle.api.tasks.testing.logging.TestLogEvent
+import org.gradle.kotlin.dsl.withType
+import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
+
+val additionalCompilerArgs = listOf("-Xopt-in=kotlin.RequiresOptIn")
+
+tasks.withType<KotlinCompile>().configureEach {
+ kotlinOptions {
+ allWarningsAsErrors = true
+ jvmTarget = JavaVersion.VERSION_11.toString()
+ freeCompilerArgs = freeCompilerArgs + additionalCompilerArgs
+ languageVersion = "1.5"
+ }
+}
+
+tasks.withType<Test>().configureEach {
+ maxParallelForks = Runtime.getRuntime().availableProcessors() * 2
+ testLogging { events(TestLogEvent.PASSED, TestLogEvent.SKIPPED, TestLogEvent.FAILED) }
+ doNotTrackState("We want tests to always run even if Gradle thinks otherwise")
+}