pluginManagement { val weightVersion: String by settings repositories { gradlePluginPortal() mavenLocal() maven("https://repo.papermc.io/repository/maven-public/") maven("https://repo.menthamc.org/repository/maven-public/") } plugins { id("moe.luminolmc.hyacinthusweight.patcher") version weightVersion id("moe.luminolmc.hyacinthusweight.core") version weightVersion } } plugins { id("org.gradle.toolchains.foojay-resolver-convention") version "1.0.0" } rootProject.name = "lophine" for (name in listOf("lophine-api", "lophine-server")) { include(name) file(name).mkdirs() } optionalInclude("test-plugin") optionalInclude("lophine-generator") fun optionalInclude(name: String, op: (ProjectDescriptor.() -> Unit)? = null) { val settingsFile = file("$name.settings.gradle.kts") if (settingsFile.exists()) { apply(from = settingsFile) findProject(":$name")?.let { op?.invoke(it) } } else { settingsFile.writeText( """ // Uncomment to enable the '$name' project // include(":$name") """.trimIndent() ) } } gradle.lifecycle.beforeProject { val mcVersion = providers.gradleProperty("mcVersion").get().trim() val lophineVersionChannel = providers.gradleProperty("channel").get().trim() val lophineBuildNumber = providers.environmentVariable("BUILD_NUMBER").orNull?.trim()?.toInt() val versionString = if (lophineBuildNumber == null) { "$mcVersion.local-SNAPSHOT" } else { "$mcVersion.build.$lophineBuildNumber-${lophineVersionChannel.lowercase()}" } version = versionString }