summaryrefslogtreecommitdiffstats
path: root/src/main/java/com/gitblit/manager/PluginManager.java
Commit message (Collapse)AuthorAgeFilesLines
* Filter the current plugin release by the system versionJames Moger2014-04-171-1/+1
|
* Add plugin (un)install lifecycle methodsJames Moger2014-04-171-2/+28
|
* Enforce plugin-requires attributeJames Moger2014-04-151-3/+18
|
* Upgrade plugin commandJames Moger2014-04-131-0/+24
|
* Eliminate plugin name, stick with id and descriptionJames Moger2014-04-121-4/+4
|
* Ensure plugins dir is created before pf4j is instantiatedJames Moger2014-04-111-3/+4
|
* Improve plugin manager based on upstreamed contributions to pf4jJames Moger2014-04-101-71/+258
|
* Fix ${baseFolder}/plugins mkdir bugJames Moger2014-04-101-0/+1
|
* Implement simple JSON-based plugin registry and install commandJames Moger2014-04-101-5/+245
|
* Split administration commands into a plugin, enhance plugin managerJames Moger2014-04-101-5/+27
|
* Add plugins/extension infrastructureDavid Ostrovsky2014-04-101-0/+56
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