From 36fd1fb92705da6c68f555f658c2d97d971dbfbd Mon Sep 17 00:00:00 2001 From: NotAlexNoyle Date: Wed, 13 Aug 2025 15:08:49 -0400 Subject: [PATCH] Update gradle to 8.14.3 --- build.gradle.kts | 77 +++++++++++++----------- gradle/wrapper/gradle-wrapper.properties | 2 +- libs/Utilities-OG | 2 +- 3 files changed, 43 insertions(+), 38 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index e73bf17..5e913aa 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,84 +1,89 @@ +/* This is free and unencumbered software released into the public domain */ + +/* ------------------------------ Plugins ------------------------------ */ plugins { - kotlin("jvm") version "2.1.21" // Import kotlin jvm plugin for kotlin/java integration. - id("com.diffplug.spotless") version "7.0.4" // Import auto-formatter. - id("com.gradleup.shadow") version "8.3.6" // Import shadow API. - eclipse // Import eclipse plugin for IDE integration. + id("java") // Import Java plugin. + id("java-library") // Import Java Library plugin. + id("com.diffplug.spotless") version "7.0.4" // Import Spotless plugin. + id("com.gradleup.shadow") version "8.3.6" // Import Shadow plugin. + eclipse // Import Eclipse plugin. + kotlin("jvm") version "2.1.21" // Import Kotlin JVM plugin. } +/* --------------------------- JDK / Kotlin ---------------------------- */ java { - // Declare java version. - sourceCompatibility = JavaVersion.VERSION_17 + sourceCompatibility = JavaVersion.VERSION_17 // Compile with JDK 17 compatibility. + toolchain { // Select Java toolchain. + languageVersion.set(JavaLanguageVersion.of(17)) // Use JDK 17. + vendor.set(JvmVendorSpec.GRAAL_VM) // Use GraalVM CE. + } } +kotlin { jvmToolchain(17) } + +/* ----------------------------- Metadata ------------------------------ */ group = "net.trueog.buffrates-og" // Declare bundle identifier. version = "2.1.1" // Declare plugin version (will be in .jar). val apiVersion = "1.19" // Declare minecraft server target version. +/* ----------------------------- Resources ----------------------------- */ tasks.named("processResources") { val props = mapOf("version" to version, "apiVersion" to apiVersion) - inputs.properties(props) // Indicates to rerun if version changes. - filesMatching("plugin.yml") { expand(props) } - from("LICENSE") { // Bundle license into .jars. - into("/") - } + from("LICENSE") { into("/") } // Bundle licenses into jarfiles. } +/* ---------------------------- Repos ---------------------------------- */ repositories { - mavenCentral() - gradlePluginPortal() - maven { url = uri("https://repo.purpurmc.org/snapshots") } + mavenCentral() // Import the Maven Central Maven Repository. + gradlePluginPortal() // Import the Gradle Plugin Portal Maven Repository. + maven { url = uri("https://repo.purpurmc.org/snapshots") } // Import the PurpurMC Maven Repository. } +/* ---------------------- Java project deps ---------------------------- */ dependencies { - compileOnly("org.purpurmc.purpur:purpur-api:1.19.4-R0.1-SNAPSHOT") // Declare purpur API version to be packaged. + compileOnly("org.purpurmc.purpur:purpur-api:1.19.4-R0.1-SNAPSHOT") // Declare Purpur API version to be packaged. compileOnly("io.github.miniplaceholders:miniplaceholders-api:2.2.3") // Import MiniPlaceholders API. implementation("org.jetbrains.kotlin:kotlin-stdlib") // Import Kotlin standard library. implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.2") // Import Kotlin async library. - compileOnly(project(":libs:Utilities-OG")) // Import TrueOG Network Utilities-OG API. + compileOnlyApi(project(":libs:Utilities-OG")) // Import TrueOG Network Utilities-OG Java API (from source). } +/* ---------------------- Reproducible jars ---------------------------- */ tasks.withType().configureEach { // Ensure reproducible .jars isPreserveFileTimestamps = false isReproducibleFileOrder = true } +/* ----------------------------- Shadow -------------------------------- */ tasks.shadowJar { exclude("io.github.miniplaceholders.*") // Exclude the MiniPlaceholders package from being shadowed. archiveClassifier.set("") // Use empty string instead of null. minimize() } -tasks.build { - dependsOn(tasks.spotlessApply) - dependsOn(tasks.shadowJar) -} +tasks.jar { archiveClassifier.set("part") } // Applies to root jarfile only. -tasks.jar { archiveClassifier.set("part") } +tasks.build { dependsOn(tasks.spotlessApply, tasks.shadowJar) } // Build depends on spotless and shadow. +/* --------------------------- Javac opts ------------------------------- */ tasks.withType().configureEach { - options.compilerArgs.add("-parameters") - options.compilerArgs.add("-Xlint:deprecation") // Triggers deprecation warning messages. - options.encoding = "UTF-8" - options.isFork = true -} - -kotlin { jvmToolchain(17) } - -java { - toolchain { - languageVersion = JavaLanguageVersion.of(17) - vendor = JvmVendorSpec.GRAAL_VM - } + options.compilerArgs.add("-Xlint:deprecation") // Trigger deprecation warning messages. + options.encoding = "UTF-8" // Use UTF-8 file encoding. } +/* ----------------------------- Auto Formatting ------------------------ */ spotless { kotlin { ktfmt().kotlinlangStyle().configure { it.setMaxWidth(120) } } kotlinGradle { - ktfmt().kotlinlangStyle().configure { it.setMaxWidth(120) } - target("build.gradle.kts", "settings.gradle.kts") + ktfmt().kotlinlangStyle().configure { it.setMaxWidth(120) } // JetBrains Kotlin formatting. + target("build.gradle.kts", "settings.gradle.kts") // Gradle files to format. } } + +tasks.named("spotlessCheck") { + dependsOn("spotlessApply") // Run spotless before checking if spotless ran. +} diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index ff23a68..d4081da 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/libs/Utilities-OG b/libs/Utilities-OG index ed7f99d..0ba116b 160000 --- a/libs/Utilities-OG +++ b/libs/Utilities-OG @@ -1 +1 @@ -Subproject commit ed7f99d354cf6cf2eff115cfbb2772c6be23af14 +Subproject commit 0ba116b1ababd35e804fd2c61b80be9e4aa6d57a