⁠
kyle wood: Update templates submodule to v2
- plugins {
- kotlin("jvm") version "${KOTLIN_VERSION}"
- id("com.gradleup.shadow") version "8.3.0"
- id("xyz.jpenilla.run-paper") version "2.3.1"
- }
-
- group = "${BUILD_COORDS.groupId}"
- version = "${BUILD_COORDS.version}"
-
- repositories {
- mavenCentral()
- #if ($IS_SPIGOT)
- maven("https://hub.spigotmc.org/nexus/content/repositories/snapshots/") {
- name = "spigotmc-repo"
- }
- #elseif ($IS_PAPER)
- maven("https://repo.papermc.io/repository/maven-public/") {
- name = "papermc-repo"
- }
- #end
- }
-
- dependencies {
- #if ($IS_SPIGOT)
- compileOnly("org.spigotmc:spigot-api:${MC_VERSION}-R0.1-SNAPSHOT")
- #elseif ($IS_PAPER)
- compileOnly("io.papermc.paper:paper-api:${MC_VERSION}-R0.1-SNAPSHOT")
- #end
- implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
- }
-
- tasks {
- runServer {
- // Configure the Minecraft version for our task.
- // This is the only required configuration besides applying the plugin.
- // Your plugin's jar (or shadowJar if present) will be used automatically.
- minecraftVersion("${API_VERSION}")
- }
- }
-
- val targetJavaVersion = ${JAVA_VERSION}
- kotlin {
- jvmToolchain(targetJavaVersion)
- }
-
- tasks.build {
- dependsOn("shadowJar")
- }
-
- #if ($USE_PAPER_MANIFEST)
- #set($MANIFEST_NAME = "paper-plugin.yml")
- #else
- #set($MANIFEST_NAME = "plugin.yml")
- #end
- tasks.processResources {
- val props = mapOf("version" to version)
- inputs.properties(props)
- filteringCharset = "UTF-8"
- filesMatching("${MANIFEST_NAME}") {
- expand(props)
- }
- }
- #if ($RESOURCE_FACTORY_PLUGIN.enabled && $LOAD_AT != "POSTWORLD")
- import xyz.jpenilla.resourcefactory.bukkit.BukkitPluginYaml
-
- #end
- plugins {
- #if ($LANGUAGE=='Java')
- id("java-library")
- #elseif ($LANGUAGE == 'Kotlin')
- kotlin("jvm") version #if ($USE_VERSION_CATALOG) libs.versions.kotlin.get() #else "${KOTLIN_VERSION}" #end
- #end
- #if ($USE_VERSION_CATALOG)
- #if ($PAPERWEIGHT_USERDEV_PLUGIN.enabled)
- alias(libs.plugins.paperweight.userdev)
- #end
- #if ($SHADOW_PLUGIN.enabled)
- alias(libs.plugins.shadow)
- #end
- #if ($RUN_PAPER_PLUGIN.enabled)
- alias(libs.plugins.run.paper)
- #end
- #if ($RESOURCE_FACTORY_PLUGIN.enabled && $USE_PAPER_MANIFEST)
- alias(libs.plugins.resource.factory.paper)
- #elseif ($RESOURCE_FACTORY_PLUGIN.enabled && !$USE_PAPER_MANIFEST)
- alias(libs.plugins.resource.factory.bukkit)
- #end
- #if ($GREMLIN_PLUGIN.enabled)
- alias(libs.plugins.gremlin.gradle)
- #end
- #else
- #if ($PAPERWEIGHT_USERDEV_PLUGIN.enabled)
- id("io.papermc.paperweight.userdev") version "$PAPERWEIGHT_USERDEV_PLUGIN.version"
- #end
- #if ($SHADOW_PLUGIN.enabled)
- id("com.gradleup.shadow") version "$SHADOW_PLUGIN.version"
- #end
- #if ($RUN_PAPER_PLUGIN.enabled)
- id("xyz.jpenilla.run-paper") version "$RUN_PAPER_PLUGIN.version"
- #end
- #if ($RESOURCE_FACTORY_PLUGIN.enabled && $USE_PAPER_MANIFEST)
- id("xyz.jpenilla.resource-factory-paper-convention") version "$RESOURCE_FACTORY_PLUGIN.version"
- #elseif ($RESOURCE_FACTORY_PLUGIN.enabled && !$USE_PAPER_MANIFEST)
- id("xyz.jpenilla.resource-factory-bukkit-convention") version "$RESOURCE_FACTORY_PLUGIN.version"
- #end
- #if ($GREMLIN_PLUGIN.enabled)
- id("xyz.jpenilla.gremlin-gradle") version "$GREMLIN_PLUGIN.version"
- #end
- #end
- }
-
- repositories {
- mavenCentral()
- #if ($IS_SPIGOT)
- maven("https://hub.spigotmc.org/nexus/content/repositories/snapshots/")
- #elseif ($IS_PAPER && !$PAPERWEIGHT_USERDEV_PLUGIN.enabled)
- maven("https://repo.papermc.io/repository/maven-public/")
- #end
- }
- #if ($GREMLIN_PLUGIN.enabled)
-
- configurations.compileOnly {
- extendsFrom(configurations.runtimeDownload.get())
- }
- #end
-
- dependencies {
- #if ($IS_SPIGOT && !$USE_VERSION_CATALOG)
- compileOnly("org.spigotmc:spigot-api:${MC_VERSION}-R0.1-SNAPSHOT")
- #elseif ($IS_SPIGOT && $USE_VERSION_CATALOG)
- compileOnly(libs.spigot.api)
- #elseif ($IS_PAPER && !$PAPERWEIGHT_USERDEV_PLUGIN.enabled && !$USE_VERSION_CATALOG)
- compileOnly("io.papermc.paper:paper-api:${MC_VERSION}-R0.1-SNAPSHOT")
- #elseif ($IS_PAPER && !$PAPERWEIGHT_USERDEV_PLUGIN.enabled && $USE_VERSION_CATALOG)
- compileOnly(libs.paper.api)
- #elseif ($IS_PAPER && $PAPERWEIGHT_USERDEV_PLUGIN.enabled && !$USE_VERSION_CATALOG)
- paperweight.paperDevBundle("${MC_VERSION}-R0.1-SNAPSHOT")
- #elseif ($IS_PAPER && $PAPERWEIGHT_USERDEV_PLUGIN.enabled && $USE_VERSION_CATALOG)
- paperweight.paperDevBundle(libs.versions.paper.api.get())
- #end
- #if ($GREMLIN_PLUGIN.enabled && !$USE_VERSION_CATALOG)
- implementation("xyz.jpenilla:gremlin-runtime:$GREMLIN_PLUGIN.version")
- #elseif ($GREMLIN_PLUGIN.enabled && $USE_VERSION_CATALOG)
- implementation(libs.gremlin.runtime)
- #end
- #if ($LANGUAGE=='Kotlin' && !$USE_VERSION_CATALOG && !$GREMLIN_PLUGIN.enabled)
- implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
- #elseif ($LANGUAGE=='Kotlin' && $USE_VERSION_CATALOG && !$GREMLIN_PLUGIN.enabled)
- implementation(libs.kotlin.stdlib)
- #elseif ($LANGUAGE=='Kotlin' && !$USE_VERSION_CATALOG && $GREMLIN_PLUGIN.enabled)
- runtimeDownload("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
- #elseif ($LANGUAGE=='Kotlin' && $USE_VERSION_CATALOG && $GREMLIN_PLUGIN.enabled)
- runtimeDownload(libs.kotlin.stdlib)
- #end
- }
- #if ($RESOURCE_FACTORY_PLUGIN.enabled)
-
- #if ($USE_PAPER_MANIFEST)
- paperPluginYaml {
- #else
- bukkitPluginYaml {
- #end
- main = "${MAIN_CLASS}"
- #if (${INCLUDE_PLUGIN_BOOTSTRAP})
- bootstrapper = "${MAIN_CLASS.packageName}.${MAIN_CLASS.className}Bootstrap"
- #end
- #if (${INCLUDE_PLUGIN_LOADER} && !${GREMLIN_PLUGIN.enabled} && !${USE_PAPER_MANIFEST})
- paperPluginLoader = "${MAIN_CLASS.packageName}.${MAIN_CLASS.className}Loader"
- #elseif (${GREMLIN_PLUGIN.enabled} && !${USE_PAPER_MANIFEST})
- paperPluginLoader = "xyz.jpenilla.gremlin.runtime.platformsupport.DefaultsPaperPluginLoader"
- #elseif (${INCLUDE_PLUGIN_LOADER} && !${GREMLIN_PLUGIN.enabled} && ${USE_PAPER_MANIFEST})
- loader = "${MAIN_CLASS.packageName}.${MAIN_CLASS.className}Loader"
- #elseif (${GREMLIN_PLUGIN.enabled} && ${USE_PAPER_MANIFEST})
- loader = "xyz.jpenilla.gremlin.runtime.platformsupport.DefaultsPaperPluginLoader"
- #end
- #if ($API_VERSION)
- apiVersion = "${API_VERSION}"
- #end
- #if ($AUTHORS || $WEBSITE || $LOG_PREFIX || $LOAD_AT != "POSTWORLD")
-
- #end
- #if ($LOAD_AT != "POSTWORLD")
- load = BukkitPluginYaml.PluginLoadOrder.$LOAD_AT
- #end
- #if ($AUTHORS)
- authors.addAll(${AUTHORS.toStringQuoted()})
- #end
- #if ($WEBSITE)
- website = "${WEBSITE}"
- #end
- #if ($LOG_PREFIX)
- prefix = "${LOG_PREFIX}"
- #end
- }
- #end
-
- #if ($LANGUAGE=='Java')
- java {
- toolchain.languageVersion = JavaLanguageVersion.of(${JAVA_VERSION})
- }
- #else
- kotlin {
- jvmToolchain(${JAVA_VERSION})
- }
- #end
-
- #if ($SHADOW_PLUGIN.enabled || $RUN_PAPER_PLUGIN.enabled || !$RESOURCE_FACTORY_PLUGIN.enabled)
- tasks {
- #if ($SHADOW_PLUGIN.enabled)
- build {
- dependsOn(shadowJar)
- }
- #end
- #if ($RUN_PAPER_PLUGIN.enabled)
- #if ($SHADOW_PLUGIN.enabled)
-
- #end
- runServer {
- #if ($USE_VERSION_CATALOG)
- minecraftVersion(libs.versions.minecraft.get())
- #else
- // Configure the Minecraft version for our task.
- // This is the only required configuration besides applying the plugin.
- // Your plugin's jar (or shadowJar if present) will be used automatically.
- minecraftVersion("${MC_VERSION}")
- #end
- #if ($ACCEPT_EULA)
- jvmArgs("-Xms2G", "-Xmx2G", "-Dcom.mojang.eula.agree=true")
- #else
- jvmArgs("-Xms2G", "-Xmx2G")
- #end
- }
- #end
- #if (!$RESOURCE_FACTORY_PLUGIN.enabled)
- #if ($SHADOW_PLUGIN.enabled || $RUN_PAPER_PLUGIN.enabled)
-
- #end
- processResources {
- val props = mapOf("version" to version #if ($DESCRIPTION), "description" to project.description #end)
- #if ($USE_PAPER_MANIFEST)
- filesMatching("paper-plugin.yml") {
- #else
- filesMatching("plugin.yml") {
- #end
- expand(props)
- }
- }
- #end
- }
- #end