added an auto-discovery mechanism for extension points (and most notably Descriptors.)

- extensions are now stored in ExtensionList.
- discovery is extensible, but by default we use Sezpoz for annotation-based injection. This requires JDK6 for build.
- a care has been taken to preserve backward compatibility. DescriptorList and manually adding to it continues to work.
- AdministrativeMonitor is converted to use the new approach entirely, as a guinea pig of this feature.
- Descriptors for View is partially switched to this new approach, where some classes register automatically while others do manually. This tests the compatibility aspect of this feature.

A pluggable discovery is an attempt to embrace Plexus integration work, although for that to really work we need more coding.

Next stop, more tests.

git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@15601 71c3de6d-444a-0410-be80-ed276b4c234a
This commit is contained in:
kohsuke committed 2009-02-23 21:54:22 +00:00
1 parent 836b436f15
commit d4c6a4b06c
15 files changed
+660 -74

No files matched your search

@@ -186,6 +186,7 @@ public abstract class FileSystemProvisioner implements ExtensionPoint, Describab
* Default implementation that doesn't rely on any file system specific capability,
* and thus can be used anywhere that Hudson runs.
*/
@Extension
public static final class Default extends FileSystemProvisioner {
private Default() {}