tapchicoma
08/21/2025, 3:38 PMeygraber
08/21/2025, 3:50 PMbuild.gradle.kts and never need to change values in the modules themselves.
My KGP setup does some work across all targets via sourceSets and tasks.hfhbd
08/22/2025, 4:47 PMAction instead of functions with receivers.
But I am mostly very curios how the integration and extension for 3rd party plugins works. As a plugin author, supporting jvm and multiplatform (and android!) is hard/complex, especially if you want to write a code generator that needs to be wired to a correct sourceSet/variant.tapchicoma
08/22/2025, 6:27 PMhfhbd
08/22/2025, 6:30 PMhfhbd
08/22/2025, 6:32 PMbuilder.bindSoftwareFeature("sqlDelight", bindingToTargetBuildModel(SqlDelight.class, KotlinMultiplatformBuildModel.class),tapchicoma
08/22/2025, 6:32 PMhfhbd
08/22/2025, 6:37 PMhfhbd
08/22/2025, 6:39 PMtapchicoma
08/22/2025, 6:41 PMJavier
08/23/2025, 1:05 PMProperty/Provider is added as in the moment you want to conditionally apply a third party plugin depending on your DSL, you need to use afterEvaluate which is not only bad by itself, it can be directly incompatible with the third party plugins so being totally blocked. Indeed, Kotlin was failing to me when I tried to apply it in the afterEvaluate block if the condition of using it was enabled in my DSL, as you cannot just apply it directly in the function without afterEvaluate because you cannot get a Project instance in the extension to get the pluginManager.hfhbd
08/23/2025, 1:42 PMJavier
08/23/2025, 1:49 PMhfhbd
08/23/2025, 1:52 PMJavier
08/23/2025, 2:02 PMgradle.properties for each project that want to disable it or something similar.
Too complex and too awful over just having a new Gradle phase that can be used to apply plugins conditionally and those plugins can use that phase to register conditionally any task or configuration.
Said that, without reaching a Fragment like lifecycle from Android 😂