import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsPlugin import org.jetbrains.kotlin.gradle.targets.js.yarn.YarnPlugin plugins { // this is necessary to avoid the plugins to be loaded multiple times // in each subproject's classloader alias(libs.plugins.androidApplication) apply false alias(libs.plugins.androidLibrary) apply false alias(libs.plugins.composeHotReload) apply false alias(libs.plugins.composeMultiplatform) apply false alias(libs.plugins.composeCompiler) apply false alias(libs.plugins.kotlinJvm) apply false alias(libs.plugins.kotlinMultiplatform) apply false alias(libs.plugins.ktor) apply false alias(libs.plugins.kotlinSerialization) apply false alias(libs.plugins.jib) apply false } rootProject.plugins.withType { // rootProject.the().download = false // rootProject.extensions.configure { // download.set(false) // } } project.plugins.withType { // project.the().download = false // project.the().command = "node" } tasks.register("dockerBuildAll") { group = "deployment" dependsOn(":server:serverDockerBuild") dependsOn(":composeApp:wasmJsDockerBuild") } tasks.register("dockerPushAll") { group = "deployment" dependsOn(":server:serverDockerPush") dependsOn(":composeApp:wasmJsDockerPush") } tasks.register("dockerDeployAll") { group = "deployment" dependsOn(":server:serverDockerDeploy") dependsOn(":composeApp:wasmJsDockerDeploy") } tasks.register("deployAll") { group = "deployment" dependsOn(":dockerDeployAll") dependsOn(":composeApp:androidDeploy") } //tasks.register("checkJsStack") { // val nodeExt = extensions.findByType() // val yarnExt = extensions.findByType() // doLast { // // Access the resolved paths from the extensions // println("--- JS Stack Check ---") // println("Node executable: ${nodeExt.toString()}") // println("Yarn executable: ${yarnExt.toString()}") // } //}