From 2968496da530d193800b74257e2b4236d814a58e Mon Sep 17 00:00:00 2001 From: Bjarne Koll Date: Thu, 7 Dec 2023 17:54:29 +0100 Subject: [PATCH] Mark paper-plugin.yml as experimental (#2122) While paper plugins and their respective loading strategy have been integrated into paper for a while now, the developer facing side of paper plugins is still highly experimental. Specifically the paper-plugin.yml file structure is still under active development and its syntax might change without a deprecation cycle. Its usage for general purpose plugin development is still hence discouraged. While developers that are familiar with the caveats of using paper plugins but decide to do so anyway due to the already existing features exist, this commit still adds a warning to ensure that developers not familiar with the system do not accidentally use it for new projects, preventing frustration down the line with potential missing features or breaking changes over the usage of a plain plugin.yml file. --- .../kotlin/platform/bukkit/creator/bukkit-platforms.kt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/kotlin/platform/bukkit/creator/bukkit-platforms.kt b/src/main/kotlin/platform/bukkit/creator/bukkit-platforms.kt index a180ce750..0815c03f4 100644 --- a/src/main/kotlin/platform/bukkit/creator/bukkit-platforms.kt +++ b/src/main/kotlin/platform/bukkit/creator/bukkit-platforms.kt @@ -26,8 +26,10 @@ import com.demonwav.mcdev.platform.PlatformType import com.demonwav.mcdev.util.MinecraftTemplates import com.demonwav.mcdev.util.MinecraftVersions import com.demonwav.mcdev.util.SemanticVersion +import com.intellij.icons.AllIcons import com.intellij.openapi.observable.util.bindBooleanStorage import com.intellij.openapi.ui.validation.WHEN_GRAPH_PROPAGATION_FINISHED +import com.intellij.ui.content.AlertIcon import com.intellij.ui.dsl.builder.Panel import com.intellij.ui.dsl.builder.bindSelected @@ -74,7 +76,11 @@ class PaperPlatformStep(parent: BukkitPlatformStep) : AbstractBukkitPlatformStep override fun setupUI(builder: Panel) { super.setupUI(builder) with(builder) { - row("Paper manifest:") { + row("Paper Manifest:") { + icon(AlertIcon(AllIcons.General.Warning)).comment( + "Paper plugins are " + + "still experimental, their usage is discouraged for general purpose development. " + ) checkBox("Use paper-plugin.yml") .bindSelected(usePaperManifestProperty) .validationRequestor(WHEN_GRAPH_PROPAGATION_FINISHED(propertyGraph))