feat(01-02): scaffold build-logic included build with 5 precompiled plugins
- build-logic/settings.gradle.kts resolves parent catalog via files("../gradle/libs.versions.toml")
- build-logic/build.gradle.kts declares kotlin-dsl + 9 compileOnly asDependency entries
- recipe.quality: Spotless + ktlint + D-11 allWarningsAsErrors safety net (plugins.withId guard)
- recipe.kotlin.multiplatform: D-05 target matrix (androidTarget, iosArm64, iosSimulatorArm64, jvm, wasmJs) + JVM 11/21 split + baseName "ComposeApp" + Koin/Kermit/kotlin-test deps
- recipe.compose.multiplatform: layers on recipe.kotlin.multiplatform (PITFALL #2 avoided) + hot-reload + Compose deps
- recipe.android.application: namespace dev.ulfrx.recipe + findVersion catalog accessor (PITFALL #1)
- recipe.jvm.server: Ktor + Flyway + Postgres with quoted "implementation" configs + cleanDisabled guard
This commit is contained in:
18
build-logic/build.gradle.kts
Normal file
18
build-logic/build.gradle.kts
Normal file
@@ -0,0 +1,18 @@
|
||||
plugins {
|
||||
`kotlin-dsl`
|
||||
}
|
||||
|
||||
dependencies {
|
||||
compileOnly(libs.plugins.kotlinMultiplatform.asDependency())
|
||||
compileOnly(libs.plugins.androidApplication.asDependency())
|
||||
compileOnly(libs.plugins.composeMultiplatform.asDependency())
|
||||
compileOnly(libs.plugins.composeCompiler.asDependency())
|
||||
compileOnly(libs.plugins.composeHotReload.asDependency())
|
||||
compileOnly(libs.plugins.kotlinJvm.asDependency())
|
||||
compileOnly(libs.plugins.ktor.asDependency())
|
||||
compileOnly(libs.plugins.spotless.asDependency())
|
||||
compileOnly(libs.plugins.flywayPlugin.asDependency())
|
||||
}
|
||||
|
||||
fun Provider<PluginDependency>.asDependency(): Provider<String> =
|
||||
map { "${it.pluginId}:${it.pluginId}.gradle.plugin:${it.version.requiredVersion}" }
|
||||
Reference in New Issue
Block a user