build-logic: add Kotlin convention plugins

This commit is contained in:
Harsh Shandilya 2021-11-14 12:10:38 +05:30
parent 44f2821794
commit cfeca2d3ee
No known key found for this signature in database
GPG key ID: 366D7BBAD1031E80
3 changed files with 40 additions and 0 deletions

View file

@ -1,5 +1,7 @@
plugins { `kotlin-dsl` }
dependencies {
implementation(libs.build.binarycompat)
implementation(libs.build.kotlin)
implementation(libs.build.spotless)
}

View file

@ -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") }

View file

@ -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")
}