build-logic: add Kotlin convention plugins
This commit is contained in:
parent
44f2821794
commit
cfeca2d3ee
3 changed files with 40 additions and 0 deletions
|
@ -1,5 +1,7 @@
|
|||
plugins { `kotlin-dsl` }
|
||||
|
||||
dependencies {
|
||||
implementation(libs.build.binarycompat)
|
||||
implementation(libs.build.kotlin)
|
||||
implementation(libs.build.spotless)
|
||||
}
|
||||
|
|
|
@ -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") }
|
|
@ -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")
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue