From cf4004e8d64399f6fc722fcb313eaaae6a65fa20 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Thu, 17 Apr 2014 18:08:12 -0400 Subject: [PATCH] Add plugin (un)install lifecycle methods --- src/main/java/com/gitblit/extensions/GitblitPlugin.java | 34 ++++++++++++++++++++++++++++++++++ 1 files changed, 34 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/gitblit/extensions/GitblitPlugin.java b/src/main/java/com/gitblit/extensions/GitblitPlugin.java index 129f584..d0603eb 100644 --- a/src/main/java/com/gitblit/extensions/GitblitPlugin.java +++ b/src/main/java/com/gitblit/extensions/GitblitPlugin.java @@ -17,11 +17,45 @@ import ro.fortsoft.pf4j.Plugin; import ro.fortsoft.pf4j.PluginWrapper; +import ro.fortsoft.pf4j.Version; +/** + * Parent class of Gitblit plugins. + * + * @author James Moger + * @since 1.5.0 + */ public abstract class GitblitPlugin extends Plugin { public GitblitPlugin(PluginWrapper wrapper) { super(wrapper); } + /** + * Called after a plugin as been loaded but before it is started for the + * first time. This allows the plugin to install settings or perform any + * other required first-time initialization. + * + * @since 1.5.0 + */ + public abstract void onInstall(); + + /** + * Called after an updated plugin has been installed but before the updated + * plugin is started. The oldVersion is passed as a parameter in the event + * that special processing needs to be executed. + * + * @param oldVersion + * @since 1.5.0 + */ + public abstract void onUpgrade(Version oldVersion); + + /** + * Called before a plugin has been unloaded and deleted from the system. + * This allows a plugin to remove any settings it may have created or + * perform and other necessary cleanup. + * + * @since 1.5.0 + */ + public abstract void onUninstall(); } -- Gitblit v1.9.1