From 087d43d00bb1275645b578f27472b3c07c1c1a50 Mon Sep 17 00:00:00 2001 From: granny Date: Thu, 2 May 2024 14:50:02 -0700 Subject: [PATCH] [ci skip] add test plugin module --- .gitignore | 1 + settings.gradle.kts | 18 ++++++++++++++++++ test-plugin/build.gradle.kts | 17 +++++++++++++++++ .../org/purpurmc/testplugin/TestPlugin.java | 12 ++++++++++++ .../testplugin/TestPluginBootstrap.java | 4 ++++ .../purpurmc/testplugin/TestPluginLoader.java | 4 ++++ .../src/main/resources/paper-plugin.yml | 12 ++++++++++++ 7 files changed, 68 insertions(+) create mode 100644 test-plugin/build.gradle.kts create mode 100644 test-plugin/src/main/java/org/purpurmc/testplugin/TestPlugin.java create mode 100644 test-plugin/src/main/java/org/purpurmc/testplugin/TestPluginBootstrap.java create mode 100644 test-plugin/src/main/java/org/purpurmc/testplugin/TestPluginLoader.java create mode 100644 test-plugin/src/main/resources/paper-plugin.yml diff --git a/.gitignore b/.gitignore index 938c62654..1fd301e1d 100644 --- a/.gitignore +++ b/.gitignore @@ -58,3 +58,4 @@ Purpur-MojangAPI Purpur-Server paper-api-generator *.jar +test-plugin.settings.gradle.kts diff --git a/settings.gradle.kts b/settings.gradle.kts index eb5a07bf7..0ff9678cd 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -37,3 +37,21 @@ for (name in listOf("Purpur-API", "Purpur-Server", "paper-api-generator")) { include(projName) findProject(":$projName")!!.projectDir = file(name) } + +optionalInclude("test-plugin") + +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() + ) + } +} diff --git a/test-plugin/build.gradle.kts b/test-plugin/build.gradle.kts new file mode 100644 index 000000000..4e1830aa8 --- /dev/null +++ b/test-plugin/build.gradle.kts @@ -0,0 +1,17 @@ +version = "1.0.0-SNAPSHOT" + +dependencies { + compileOnly(project(":purpur-api")) +} + +tasks.processResources { + val apiVersion = rootProject.providers.gradleProperty("mcVersion").get() + val props = mapOf( + "version" to project.version, + "apiversion" to "\"$apiVersion\"", + ) + inputs.properties(props) + filesMatching("paper-plugin.yml") { + expand(props) + } +} diff --git a/test-plugin/src/main/java/org/purpurmc/testplugin/TestPlugin.java b/test-plugin/src/main/java/org/purpurmc/testplugin/TestPlugin.java new file mode 100644 index 000000000..39e2b3557 --- /dev/null +++ b/test-plugin/src/main/java/org/purpurmc/testplugin/TestPlugin.java @@ -0,0 +1,12 @@ +package org.purpurmc.testplugin; + +import org.bukkit.event.Listener; +import org.bukkit.plugin.java.JavaPlugin; + +public class TestPlugin extends JavaPlugin implements Listener { + + @Override + public void onEnable() { + this.getServer().getPluginManager().registerEvents(this, this); + } +} diff --git a/test-plugin/src/main/java/org/purpurmc/testplugin/TestPluginBootstrap.java b/test-plugin/src/main/java/org/purpurmc/testplugin/TestPluginBootstrap.java new file mode 100644 index 000000000..612aa3e6f --- /dev/null +++ b/test-plugin/src/main/java/org/purpurmc/testplugin/TestPluginBootstrap.java @@ -0,0 +1,4 @@ +package org.purpurmc.testplugin; + +public class TestPluginBootstrap { +} diff --git a/test-plugin/src/main/java/org/purpurmc/testplugin/TestPluginLoader.java b/test-plugin/src/main/java/org/purpurmc/testplugin/TestPluginLoader.java new file mode 100644 index 000000000..6a00427bd --- /dev/null +++ b/test-plugin/src/main/java/org/purpurmc/testplugin/TestPluginLoader.java @@ -0,0 +1,4 @@ +package org.purpurmc.testplugin; + +public class TestPluginLoader { +} diff --git a/test-plugin/src/main/resources/paper-plugin.yml b/test-plugin/src/main/resources/paper-plugin.yml new file mode 100644 index 000000000..3418d110e --- /dev/null +++ b/test-plugin/src/main/resources/paper-plugin.yml @@ -0,0 +1,12 @@ +name: Purpur-Test-Plugin +version: ${version} +main: org.purpurmc.testplugin.TestPlugin +description: Purpur Test Plugin +author: PurpurMC +api-version: ${apiversion} +load: STARTUP +bootstrapper: org.purpurmc.testplugin.TestPluginBootstrap +loader: org.purpurmc.testplugin.TestPluginLoader +defaultPerm: FALSE +permissions: +dependencies: