pluginManagement { repositories { google() mavenCentral() gradlePluginPortal() maven { url = uri("https://teavm.org/maven/repository") } maven { url = uri("https://maven.ngengine.org/riccardobl/teavm") } mavenLocal() } plugins { id("org.gradle.toolchains.foojay-resolver-convention") version "1.0.0" id("com.android.application") version '8.12.2' apply false id("com.android.library") version '8.12.2' apply false id("org.jetbrains.kotlin.android") version "2.1.20" apply false } } plugins { id("org.gradle.toolchains.foojay-resolver") version "1.0.0" } toolchainManagement { jvm { javaRepositories { repository("foojay") { resolverClass = org.gradle.toolchains.foojay.FoojayToolchainResolver } } } } dependencyResolutionManagement { repositories { mavenLocal() mavenCentral() google() maven { url = uri("https://central.sonatype.com/repository/maven-snapshots") } maven { url = uri("https://teavm.org/maven/repository") } maven { url = uri("https://maven.ngengine.org/riccardobl/teavm") } ivy { name = "Node.js" setUrl("https://nodejs.org/dist/") patternLayout { artifact("v[revision]/[artifact](-v[revision]-[classifier]).[ext]") } metadataSources { artifact() } content { includeModule("org.nodejs", "node") } } } } if (!gradle.hasProperty('ext')) { gradle.ext {} } gradle.beforeProject { p -> if (p == p.rootProject) { p.tasks.register("cleanDist", org.gradle.api.tasks.Delete) { delete p.layout.projectDirectory.dir("dist") } p.gradle.projectsEvaluated { def cleanTask = p.tasks.findByName("clean") ?: p.tasks.register("clean") cleanTask.configure { dependsOn("cleanDist") } } } } // import json properties apply from: "${rootDir}/gradle/libs/props.gradle" def ngeConfig = gradle.ext.loadNgeAppProperties("${rootDir}/app/src/main/resources/ngeapp.json") gradle.beforeProject { p -> ngeConfig.each { k, v -> p.ext.set(k, v) } if (ngeConfig.Version) p.version = ngeConfig.Version.toString() if (ngeConfig.Namespace) p.group = ngeConfig.Namespace.toString() } print("Build with config: "+ngeConfig) rootProject.name = ngeConfig.ShortName include('app') // ENABLE DESKTOP BUILD TARGET include('platform-desktop') // ENABLE ANDROID BUILD TARGET include('platform-android') // ENABLE WEB BUILD TARGET include('platform-web')