From fc8dc9f89f70f13577c0e736b2660ba9d5bfee59 Mon Sep 17 00:00:00 2001 From: marcin Date: Mon, 3 Feb 2025 12:12:03 +0100 Subject: [PATCH] fix: Use DynamicPluginListener to create and remove .copilot-plugin (#299) * Use DynamicPluginListener to create and remove .copilot-plugin * spotless --- .../listeners/CopilotDynamicPluginListener.kt | 22 +++++++++++++++++++ src/main/resources/META-INF/plugin.xml | 3 +++ 2 files changed, 25 insertions(+) create mode 100644 src/main/kotlin/com/vaadin/plugin/copilot/listeners/CopilotDynamicPluginListener.kt diff --git a/src/main/kotlin/com/vaadin/plugin/copilot/listeners/CopilotDynamicPluginListener.kt b/src/main/kotlin/com/vaadin/plugin/copilot/listeners/CopilotDynamicPluginListener.kt new file mode 100644 index 0000000..120e54d --- /dev/null +++ b/src/main/kotlin/com/vaadin/plugin/copilot/listeners/CopilotDynamicPluginListener.kt @@ -0,0 +1,22 @@ +package com.vaadin.plugin.copilot.listeners + +import com.intellij.ide.plugins.DynamicPluginListener +import com.intellij.ide.plugins.IdeaPluginDescriptor +import com.intellij.openapi.diagnostic.Logger +import com.intellij.openapi.project.Project +import com.vaadin.plugin.copilot.CopilotPluginUtil + +class CopilotDynamicPluginListener(private val project: Project) : DynamicPluginListener { + + private val LOG: Logger = Logger.getInstance(CopilotDynamicPluginListener::class.java) + + override fun beforePluginUnload(pluginDescriptor: IdeaPluginDescriptor, isUpdate: Boolean) { + CopilotPluginUtil.removeDotFile(project) + LOG.debug("Plugin is going to be unloaded, .copilot-plugin removed") + } + + override fun pluginLoaded(pluginDescriptor: IdeaPluginDescriptor) { + CopilotPluginUtil.saveDotFile(project) + LOG.debug("Plugin loaded, .copilot-plugin created") + } +} diff --git a/src/main/resources/META-INF/plugin.xml b/src/main/resources/META-INF/plugin.xml index 5ecb23f..690c796 100644 --- a/src/main/resources/META-INF/plugin.xml +++ b/src/main/resources/META-INF/plugin.xml @@ -126,6 +126,9 @@ +