import org.gradle.api.tasks.testing.logging.TestExceptionFormat import org.gradle.api.tasks.testing.logging.TestLogEvent plugins { `maven-publish` id("io.papermc.paperweight.patcher") version "2.0.0-beta.17" } val paperMavenPublicUrl = "https://repo.papermc.io/repository/maven-public/" val leafMavenPublicUrl = "https://maven.nostal.ink/repository/maven-snapshots/" subprojects { apply(plugin = "java-library") apply(plugin = "maven-publish") extensions.configure { toolchain { languageVersion = JavaLanguageVersion.of(21) } } repositories { mavenCentral() maven(paperMavenPublicUrl) maven(leafMavenPublicUrl) maven("https://repo.bsdevelopment.org/releases/") // Leaf - Leaf config - ConfigurationMaster-API } tasks.withType().configureEach { isPreserveFileTimestamps = false isReproducibleFileOrder = true } tasks.withType { options.encoding = Charsets.UTF_8.name() options.release = 21 options.isFork = true options.compilerArgs.addAll(listOf("-Xlint:-deprecation", "-Xlint:-removal")) options.forkOptions.memoryMaximumSize = "2g" // Prevent OOM during building } tasks.withType { options.encoding = Charsets.UTF_8.name() } tasks.withType { filteringCharset = Charsets.UTF_8.name() } tasks.withType { testLogging { showStackTraces = true exceptionFormat = TestExceptionFormat.FULL events(TestLogEvent.STANDARD_OUT) } } extensions.configure { repositories { maven(leafMavenPublicUrl) { name = "leaf" credentials.username = System.getenv("REPO_USER") credentials.password = System.getenv("REPO_PASSWORD") } } } } paperweight { upstreams.paper { ref = providers.gradleProperty("paperCommit") patchFile { path = "paper-server/build.gradle.kts" outputFile = file("leaf-server/build.gradle.kts") patchFile = file("leaf-server/build.gradle.kts.patch") } patchFile { path = "paper-api/build.gradle.kts" outputFile = file("leaf-api/build.gradle.kts") patchFile = file("leaf-api/build.gradle.kts.patch") } patchDir("paperApi") { upstreamPath = "paper-api" excludes = setOf("build.gradle.kts") patchesDir = file("leaf-api/paper-patches") outputDir = file("paper-api") } } }