forked from thunderbird/thunderbird-android
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild.gradle.kts
More file actions
75 lines (59 loc) · 2 KB
/
Copy pathbuild.gradle.kts
File metadata and controls
75 lines (59 loc) · 2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
plugins {
`kotlin-dsl`
}
group = "net.thunderbird.gradle.plugin"
// Configure the build-logic plugins to target JDK 21 similar to the JDK used to build the project.
java {
sourceCompatibility = JavaVersion.VERSION_21
targetCompatibility = JavaVersion.VERSION_21
}
kotlin {
compilerOptions {
jvmTarget = JvmTarget.JVM_21
}
}
dependencies {
implementation(files(libs.javaClass.superclass.protectionDomain.codeSource.location))
compileOnly(plugin(libs.plugins.android.application))
compileOnly(plugin(libs.plugins.kotlin.multiplatform))
compileOnly(plugin(libs.plugins.kotlin.serialization))
implementation(plugin(libs.plugins.compose))
implementation(plugin(libs.plugins.jetbrains.compose))
implementation(plugin(libs.plugins.dependency.check))
implementation(plugin(libs.plugins.detekt))
implementation(plugin(libs.plugins.spotless))
compileOnly(plugin(libs.plugins.kover))
implementation(libs.diff.utils)
compileOnly(libs.kotlinx.datetime)
}
kotlin {
compilerOptions {
allWarningsAsErrors = true
}
}
tasks {
validatePlugins {
enableStricterValidation = true
failOnWarning = true
}
}
gradlePlugin {
plugins {
register("Badging") {
id = "net.thunderbird.gradle.plugin.app.badging"
implementationClass = "net.thunderbird.gradle.plugin.app.badging.BadgingPlugin"
}
register("Versioning") {
id = "net.thunderbird.gradle.plugin.app.versioning"
implementationClass = "net.thunderbird.gradle.plugin.app.versioning.VersioningPlugin"
}
register("QualityCodeCoverage") {
id = "net.thunderbird.gradle.plugin.quality.coverage"
implementationClass = "net.thunderbird.gradle.plugin.quality.coverage.CodeCoveragePlugin"
}
}
}
private fun plugin(provider: Provider<PluginDependency>) = with(provider.get()) {
"$pluginId:$pluginId.gradle.plugin:$version"
}