Files
TachiyomiSY/gradle/build-logic/build.gradle.kts
T
AntsyLich a7d93ae751 Cleanup and rework build logic (#3113)
# Conflicts:
#	app/build.gradle.kts
#	app/shortcuts.xml
#	app/src/main/res/xml/shortcuts.xml
#	app/src/main/shortcuts.xml
#	build.gradle.kts
#	buildSrc/src/main/kotlin/mihon/buildlogic/AndroidConfig.kt
#	core/archive/build.gradle.kts
#	core/common/build.gradle.kts
#	gradle/build-logic/src/main/kotlin/mihon/gradle/BuildConfig.kt
#	settings.gradle.kts
#	source-api/build.gradle.kts
#	source-local/build.gradle.kts
#	telemetry/build.gradle.kts
2026-04-06 15:50:09 -04:00

76 lines
2.5 KiB
Kotlin

plugins {
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.kotlin.samWithReceiver)
alias(libs.plugins.spotless)
`java-gradle-plugin`
}
// Configuration should be synced with [/gradle/build-logic/src/main/kotlin/PluginSpotless.kt]
val ktlintVersion = libs.ktlint.bom.get().version
val editorConfigFile = rootProject.file("../../.editorconfig")
spotless {
kotlin {
target("src/**/*.kt")
ktlint(ktlintVersion).setEditorConfigPath(editorConfigFile)
trimTrailingWhitespace()
endWithNewline()
}
kotlinGradle {
target("*.kts")
ktlint(ktlintVersion).setEditorConfigPath(editorConfigFile)
trimTrailingWhitespace()
endWithNewline()
}
}
dependencies {
compileOnly(gradleKotlinDsl())
compileOnly(libs.android.gradle)
compileOnly(libs.kotlin.compose.compiler.gradle)
compileOnly(libs.kotlin.gradle)
implementation(libs.spotless.gradle)
implementation(libs.tapmoc.gradle)
// These allow us to reference the dependency catalog inside our compiled plugins
compileOnly(files(libs::class.java.superclass.protectionDomain.codeSource.location))
compileOnly(files(mihonx::class.java.superclass.protectionDomain.codeSource.location))
}
samWithReceiver {
annotation("org.gradle.api.HasImplicitReceiver")
}
gradlePlugin {
plugins {
register("android-application") {
id = mihonx.plugins.android.application.get().pluginId
implementationClass = "PluginAndroidApplication"
}
register("android-base") {
id = mihonx.plugins.android.base.get().pluginId
implementationClass = "PluginAndroidBase"
}
register("android-library") {
id = mihonx.plugins.android.library.get().pluginId
implementationClass = "PluginAndroidLibrary"
}
register("android-test") {
id = mihonx.plugins.android.test.get().pluginId
implementationClass = "PluginAndroidTest"
}
register("compose-android") {
id = mihonx.plugins.compose.get().pluginId
implementationClass = "PluginComposeAndroid"
}
register("kotlin-multiplatform") {
id = mihonx.plugins.kotlin.multiplatform.get().pluginId
implementationClass = "PluginKotlinMultiplatform"
}
register("spotless") {
id = mihonx.plugins.spotless.get().pluginId
implementationClass = "PluginSpotless"
}
}
}