summaryrefslogtreecommitdiffstats
path: root/src/main/java/com/gitblit/manager/IPluginManager.java
Commit message (Collapse)AuthorAgeFilesLines
* Update javadocJames Moger2014-04-171-0/+20
|
* Add plugin (un)install lifecycle methodsJames Moger2014-04-171-1/+1
|
* Enforce plugin-requires attributeJames Moger2014-04-151-0/+8
|
* Upgrade plugin commandJames Moger2014-04-131-0/+11
|
* Allow user to disable checksum verification on plugin registry refreshJames Moger2014-04-111-1/+3
|
* Improve plugin manager based on upstreamed contributions to pf4jJames Moger2014-04-101-11/+92
|
* Implement simple JSON-based plugin registry and install commandJames Moger2014-04-101-2/+46
|
* Split administration commands into a plugin, enhance plugin managerJames Moger2014-04-101-12/+11
|
* Add plugins/extension infrastructureDavid Ostrovsky2014-04-101-0/+39
Plugins are stored in `${baseFolder}/plugins` and are loaded during startup by the PluginManager. A plugin defines it's metadata in META-INF/MANIFEST.MF: Plugin-Class: com.gitblit.plugins.cookbook.CookbookPlugin Plugin-Dependencies: foo, bar Plugin-Id: gitblit-plugin Plugin-Provider: John Doe Plugin-Version: 1.0 Plugins can define extension points that can be implemented by other plugins and they can depend on other plugins: Plugin-Dependencies: foo, bar During the load phase, a directed acyclic graph is built and the loading order of the dependency chain is reversed using a topological sort; parent followed by children. The parent plugin classloader is the combined classloader of all parent plugins. Change-Id: I738821fa2bff02a5dbe339a944cc7e3c4dd8e299