Merge PR #1788: Make plugin manager pluggable

Squashed commit of the following:

commit f2c6ad272f
Author: Sam Van Oort <samvanoort@gmail.com>
Date:   Thu Aug 20 18:28:09 2015 -0400

    After much discussion, just remove the helper method to let a plugin manager override easily get instance of the PluginManager

commit a96f933d8d
Author: Sam Van Oort <samvanoort@gmail.com>
Date:   Thu Aug 20 16:59:07 2015 -0400

    Add javadocs and restrict access on the PluginManagerStaplerOverride getManager method

commit 7e1facf887
Author: Sam Van Oort <samvanoort@gmail.com>
Date:   Thu Aug 20 12:50:47 2015 -0400

    Simplify plugin manager test using @TestExtension

commit b9f2841f6d
Author: Sam Van Oort <samvanoort@gmail.com>
Date:   Thu Aug 20 10:32:49 2015 -0400

    Modify the Since version for pluginmanager overrides

commit 3af45ce579
Author: Sam Van Oort <samvanoort@gmail.com>
Date:   Thu Aug 20 10:28:14 2015 -0400

    Add test for PluginManagerStaplerOverride

commit 7864094565
Author: Sam Van Oort <samvanoort@gmail.com>
Date:   Mon Aug 17 20:59:33 2015 -0400

    Changes from review, mostly comments and rename of class

commit 1c23f086ec
Author: Sam Van Oort <samvanoort@gmail.com>
Date:   Mon Aug 17 12:58:07 2015 -0400

    Cleanup for PluginManager extensibility/UI overrides

commit e105a13bcf
Author: Sam Van Oort <samvanoort@gmail.com>
Date:   Fri Aug 14 15:23:07 2015 -0400

    Different approach to plugin manager UX pluggability, using Extension and StaplerOverridable

commit 81f21fba08
Author: Sam Van Oort <samvanoort@gmail.com>
Date:   Thu Aug 13 21:32:45 2015 -0400

    Initial round of changes to allow  overriding PluginManager

    This includes renaming the setTarget method to setUIProxy and defining an interface to retain APIs
    Fields have not been mapped through yet as that is still in progress
    Also, an AbstractStaplerUIProxy has been defined to delegate Stapler bound calls to the pluginManager

commit eeef666de7
Author: Sam Van Oort <samvanoort@gmail.com>
Date:   Wed Aug 5 17:40:50 2015 -0400

    Make plugin manager pluggable
This commit is contained in:
Sam Van Oort authored and Daniel Beck committed 2015-08-24 23:39:51 +02:00
1 parent b204bd0719
commit 80abb98640
4 files changed
+87 -1

No files matched your search

@@ -0,0 +1,28 @@
package hudson;
import jenkins.model.Jenkins;
import javax.annotation.CheckForNull;
import javax.annotation.Nonnull;
/**
* Extension point for selectively overriding parts of the {@link PluginManager} views
* Anything extending this and registered with an @Extension can replace existing views and define new views.
*
* It is also possible to add/modify API calls coming via Stapler, but this requires caution.
*
* In both cases, this is simply done by defining a resource or method that matches the existing one
*
* @author Sam Van Oort
* @since 1.626
*/
public abstract class PluginManagerStaplerOverride implements ExtensionPoint {
/**
* Return all implementations of this extension point
* @return All implementations of this extension point
*/
public static @Nonnull ExtensionList<PluginManagerStaplerOverride> all() {
return ExtensionList.lookup(PluginManagerStaplerOverride.class);
}
}