refactor: Simplify multisrc structure (#2942)
This commit is contained in:
6
buildSrc/src/main/kotlin/Extensions.kt
Normal file
6
buildSrc/src/main/kotlin/Extensions.kt
Normal file
@ -0,0 +1,6 @@
|
||||
import org.gradle.api.plugins.ExtensionAware
|
||||
import org.gradle.kotlin.dsl.extra
|
||||
|
||||
var ExtensionAware.baseVersionCode: Int
|
||||
get() = extra.get("baseVersionCode") as Int
|
||||
set(value) = extra.set("baseVersionCode", value)
|
24
buildSrc/src/main/kotlin/lib-android.gradle.kts
Normal file
24
buildSrc/src/main/kotlin/lib-android.gradle.kts
Normal file
@ -0,0 +1,24 @@
|
||||
plugins {
|
||||
id("com.android.library")
|
||||
kotlin("android")
|
||||
id("kotlinx-serialization")
|
||||
}
|
||||
|
||||
android {
|
||||
compileSdk = AndroidConfig.compileSdk
|
||||
|
||||
defaultConfig {
|
||||
minSdk = AndroidConfig.minSdk
|
||||
}
|
||||
|
||||
namespace = "eu.kanade.tachiyomi.lib.${name.replace("-", "")}"
|
||||
}
|
||||
|
||||
versionCatalogs
|
||||
.named("libs")
|
||||
.findBundle("common")
|
||||
.ifPresent { common ->
|
||||
dependencies {
|
||||
compileOnly(common)
|
||||
}
|
||||
}
|
13
buildSrc/src/main/kotlin/lib-kotlin.gradle.kts
Normal file
13
buildSrc/src/main/kotlin/lib-kotlin.gradle.kts
Normal file
@ -0,0 +1,13 @@
|
||||
plugins {
|
||||
`java-library`
|
||||
kotlin("jvm")
|
||||
}
|
||||
|
||||
versionCatalogs
|
||||
.named("libs")
|
||||
.findLibrary("kotlin-stdlib")
|
||||
.ifPresent { stdlib ->
|
||||
dependencies {
|
||||
compileOnly(stdlib)
|
||||
}
|
||||
}
|
55
buildSrc/src/main/kotlin/lib-multisrc.gradle.kts
Normal file
55
buildSrc/src/main/kotlin/lib-multisrc.gradle.kts
Normal file
@ -0,0 +1,55 @@
|
||||
plugins {
|
||||
id("com.android.library")
|
||||
kotlin("android")
|
||||
id("kotlinx-serialization")
|
||||
id("org.jmailen.kotlinter")
|
||||
}
|
||||
|
||||
android {
|
||||
compileSdk = AndroidConfig.compileSdk
|
||||
|
||||
defaultConfig {
|
||||
minSdk = AndroidConfig.minSdk
|
||||
}
|
||||
|
||||
namespace = "eu.kanade.tachiyomi.multisrc.${project.name}"
|
||||
|
||||
sourceSets {
|
||||
named("main") {
|
||||
manifest.srcFile("AndroidManifest.xml")
|
||||
java.setSrcDirs(listOf("src"))
|
||||
res.setSrcDirs(listOf("res"))
|
||||
assets.setSrcDirs(listOf("assets"))
|
||||
}
|
||||
}
|
||||
|
||||
buildFeatures {
|
||||
resValues = false
|
||||
shaders = false
|
||||
}
|
||||
|
||||
kotlinOptions {
|
||||
freeCompilerArgs += "-opt-in=kotlinx.serialization.ExperimentalSerializationApi"
|
||||
}
|
||||
}
|
||||
|
||||
versionCatalogs
|
||||
.named("libs")
|
||||
.findBundle("common")
|
||||
.ifPresent { common ->
|
||||
dependencies {
|
||||
compileOnly(common)
|
||||
}
|
||||
}
|
||||
|
||||
tasks {
|
||||
preBuild {
|
||||
dependsOn(lintKotlin)
|
||||
}
|
||||
|
||||
if (System.getenv("CI") != "true") {
|
||||
lintKotlin {
|
||||
dependsOn(formatKotlin)
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user