summaryrefslogtreecommitdiff
path: root/build-logic
diff options
context:
space:
mode:
Diffstat (limited to 'build-logic')
-rw-r--r--build-logic/src/main/kotlin/app/passwordstore/gradle/KotlinCommonPlugin.kt6
-rw-r--r--build-logic/src/main/kotlin/app/passwordstore/gradle/KotlinLibraryPlugin.kt9
-rw-r--r--build-logic/src/main/kotlin/app/passwordstore/gradle/LibraryPlugin.kt5
3 files changed, 9 insertions, 11 deletions
diff --git a/build-logic/src/main/kotlin/app/passwordstore/gradle/KotlinCommonPlugin.kt b/build-logic/src/main/kotlin/app/passwordstore/gradle/KotlinCommonPlugin.kt
index 067cadfc..6d43a494 100644
--- a/build-logic/src/main/kotlin/app/passwordstore/gradle/KotlinCommonPlugin.kt
+++ b/build-logic/src/main/kotlin/app/passwordstore/gradle/KotlinCommonPlugin.kt
@@ -24,6 +24,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
class KotlinCommonPlugin : Plugin<Project> {
override fun apply(project: Project) {
+ val isAppModule = project.pluginManager.hasPlugin("com.android.application")
project.pluginManager.apply(DetektPlugin::class.java)
project.extensions.configure<DetektExtension> {
parallel = true
@@ -44,12 +45,15 @@ class KotlinCommonPlugin : Plugin<Project> {
sourceCompatibility = JavaVersion.VERSION_11.toString()
targetCompatibility = JavaVersion.VERSION_11.toString()
}
- withType<KotlinCompile>().configureEach {
+ withType<KotlinCompile>().configureEach task@{
compilerOptions {
jvmTarget.set(JvmTarget.JVM_11)
allWarningsAsErrors.set(true)
languageVersion.set(KotlinVersion.KOTLIN_1_5)
freeCompilerArgs.addAll(ADDITIONAL_COMPILER_ARGS)
+ if (!this@task.name.contains("test", ignoreCase = true) && !isAppModule) {
+ freeCompilerArgs.add("-Xexplicit-api=strict")
+ }
}
}
withType<Test>().configureEach {
diff --git a/build-logic/src/main/kotlin/app/passwordstore/gradle/KotlinLibraryPlugin.kt b/build-logic/src/main/kotlin/app/passwordstore/gradle/KotlinLibraryPlugin.kt
index e85d5c21..e9c9d1d3 100644
--- a/build-logic/src/main/kotlin/app/passwordstore/gradle/KotlinLibraryPlugin.kt
+++ b/build-logic/src/main/kotlin/app/passwordstore/gradle/KotlinLibraryPlugin.kt
@@ -8,20 +8,11 @@ package app.passwordstore.gradle
import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.kotlin.dsl.apply
-import org.gradle.kotlin.dsl.withType
-import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
@Suppress("Unused")
class KotlinLibraryPlugin : Plugin<Project> {
override fun apply(project: Project) {
project.pluginManager.apply(KotlinCommonPlugin::class)
- project.tasks.withType<KotlinCompile>().configureEach task@{
- compilerOptions {
- if (!this@task.name.contains("test", ignoreCase = true)) {
- freeCompilerArgs.add("-Xexplicit-api=strict")
- }
- }
- }
}
}
diff --git a/build-logic/src/main/kotlin/app/passwordstore/gradle/LibraryPlugin.kt b/build-logic/src/main/kotlin/app/passwordstore/gradle/LibraryPlugin.kt
index 22cc8ca3..c607f6da 100644
--- a/build-logic/src/main/kotlin/app/passwordstore/gradle/LibraryPlugin.kt
+++ b/build-logic/src/main/kotlin/app/passwordstore/gradle/LibraryPlugin.kt
@@ -9,7 +9,10 @@ import org.gradle.kotlin.dsl.apply
class LibraryPlugin : Plugin<Project> {
override fun apply(project: Project) {
- project.pluginManager.apply(LibraryPlugin::class)
+ project.pluginManager.run {
+ apply(LibraryPlugin::class)
+ apply(KotlinCommonPlugin::class)
+ }
AndroidCommon.configure(project)
}
}