diff options
author | James Moger <james.moger@gitblit.com> | 2014-04-01 00:10:43 -0400 |
---|---|---|
committer | James Moger <james.moger@gitblit.com> | 2014-04-10 19:00:52 -0400 |
commit | e5d0bacbf746e09a9194822b231cb27090f58973 (patch) | |
tree | e6d7d2f96384aa89a4f965ad1f47fb130ec907a4 /src/main/java/com/gitblit/manager/IPluginManager.java | |
parent | ec3b719dab4ae3c51d8bd52ab2b4176f82c5006f (diff) | |
download | gitblit-e5d0bacbf746e09a9194822b231cb27090f58973.tar.gz gitblit-e5d0bacbf746e09a9194822b231cb27090f58973.zip |
Implement simple JSON-based plugin registry and install command
Diffstat (limited to 'src/main/java/com/gitblit/manager/IPluginManager.java')
-rw-r--r-- | src/main/java/com/gitblit/manager/IPluginManager.java | 48 |
1 files changed, 46 insertions, 2 deletions
diff --git a/src/main/java/com/gitblit/manager/IPluginManager.java b/src/main/java/com/gitblit/manager/IPluginManager.java index 11b81ea3..1f7f85ee 100644 --- a/src/main/java/com/gitblit/manager/IPluginManager.java +++ b/src/main/java/com/gitblit/manager/IPluginManager.java @@ -15,9 +15,14 @@ */ package com.gitblit.manager; +import java.util.List; + import ro.fortsoft.pf4j.PluginManager; import ro.fortsoft.pf4j.PluginWrapper; +import com.gitblit.models.PluginRegistry.PluginRegistration; +import com.gitblit.models.PluginRegistry.PluginRelease; + public interface IPluginManager extends IManager, PluginManager { /** @@ -27,12 +32,51 @@ public interface IPluginManager extends IManager, PluginManager { * @return PluginWrapper that loaded the given class */ PluginWrapper whichPlugin(Class<?> clazz); - + /** * Delete the plugin represented by {@link PluginWrapper}. - * + * * @param wrapper * @return true if successful */ boolean deletePlugin(PluginWrapper wrapper); + + /** + * Refresh the plugin registry. + */ + boolean refreshRegistry(); + + /** + * Install the plugin from the specified url. + */ + boolean installPlugin(String url); + + /** + * Install the plugin. + */ + boolean installPlugin(PluginRelease pr); + + /** + * The list of all registered plugins. + * + * @return a list of registered plugins + */ + List<PluginRegistration> getRegisteredPlugins(); + + /** + * Lookup a plugin registration from the plugin registries. + * + * @param idOrName + * @return a plugin registration or null + */ + PluginRegistration lookupPlugin(String idOrName); + + /** + * Lookup a plugin release. + * + * @param idOrName + * @param version (use null for the current version) + * @return the identified plugin version or null + */ + PluginRelease lookupRelease(String idOrName, String version); } |