diff --git a/gradle.properties b/gradle.properties index c425dd367..044c82a8c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,8 +1,8 @@ group=com.lokamc.slice -version=1.20.4-R0.1-SNAPSHOT - -mcVersion=1.20.4 +version=1.21.3-R0.1-SNAPSHOT +mcVersion=1.21.3 paperRef=5436d44bf2509ff89129f8790ee4643f09c72871 +updatingMinecraft=true org.gradle.caching=true org.gradle.parallel=true diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index b82aa23a4..df97d72b8 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.7-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/settings.gradle.kts b/settings.gradle.kts index 5bf67525c..d544b0bbe 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,10 +1,59 @@ -pluginManagement { - repositories { - gradlePluginPortal() - maven("https://repo.papermc.io/repository/maven-public/") - } +import java.util.Locale + + pluginManagement { + repositories { + gradlePluginPortal() + maven("https://repo.papermc.io/repository/maven-public/") + } + } + +plugins { + id("org.gradle.toolchains.foojay-resolver-convention") version "0.8.0" +} + +if (!file(".git").exists()) { + val errorText = """ + + =====================[ ERROR ]===================== + The Paper project directory is not a properly cloned Git repository. + + In order to build Paper from source you must clone + the Paper repository using Git, not download a code + zip from GitHub. + + Built Paper jars are available for download at + https://papermc.io/downloads/paper + + See https://github.com/PaperMC/Paper/blob/master/CONTRIBUTING.md + for further information on building and modifying Paper. + =================================================== + """.trimIndent() + error(errorText) } rootProject.name = "slice" -include("slice-api", "slice-server") +for (name in listOf("slice-api", "slice-server")) { + val projName = name.lowercase(Locale.ENGLISH) + include(projName) + findProject(":$projName")!!.projectDir = file(name) +} + +optionalInclude("test-plugin") +optionalInclude("paper-api-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() + ) + } +} \ No newline at end of file