| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Managers are mostly declared in dependency order. Managers with fewer dependencies are first. They are likely to be components of other managers. Also eliminated import artifacts from the cherry-pick.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
| |
|
| |
|
|
|
|
| |
Change-Id: Ibad9e2b1c12a24ad9c671a0d96aafb3365daa529
|
|
|
|
| |
Change-Id: I5ff18b2768095fb14e7fbece2e756115829abbde
|
|
|
|
| |
Change-Id: I5f0f50f4ae7d332e9f724a2e6f074fa71f646035
|
|
|
|
| |
Change-Id: I2b2f361a868c8eedf4b6df5939e7dfac2d5f92a9
|
|
|
|
| |
Change-Id: I5358389396f816da979ec18a31421c2d2b67b3d9
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These manager interfaces define how the GitBlit singleton will
eventually be split into smaller component managers. The Wicket app and
all servlets have been updated to request the needed managers. There
are _very_ few method signature changes - although there are a handful.
This is a surgical sharding of responsibility based on a proof of
concept refactor. Instead of random references to GittBlit.self()
there are now precise references to the manager interface required to
accomplish some task. Some tasks may require references to multiple
managers.
The code is now littered with calls to GitBlit.getManager(class) and
those familiar with the code-base will no doubt notice the duplication
of methods from IUserService in IUserManager and the addition of
implementation methods in the GitBlit context class. When the
GitBlit class is broken apart and the existing external authentication
user service classes are refactored to AuthenticationService classes,
this will again simplify and flatten. But in order to safely and
cleanly modularize the stable code-base we will have to live with a
little duplication for a short while.
Change-Id: I7314ec8acaab2dcc6092785ed4434cc09fdbbe16
|
|
|
|
| |
Change-Id: I9f91138b20219be6e3c4b28251487df262bff6cc
|
| |
|
|
This is a massive commit which reorganizes the entire project structure
(although it is still monolithic), removes the Build classes, and
switches to Moxie, a smarter Ant build tookit based on the original
Gitblit Build classes.
The Ant build script will likely require additional fine-tuning, but
this is big step forward.
|