Central consists of three levels of metadata:
- directory.xml file listing 1 or more discovery plugins (eg., 1 for the Core features, 1 for the Integration Stack (formerly SOA Tooling) features)
- discovery plugin(s), which define groups of features ("Connectors") to be installed. This amounts to little more than a plugin.xml and some icons.
- update site(s) referenced by the discovery plugin(s), which host the features to be installed. Sites can be 3rd party vendors' sites, or can be mirrored on download.jboss.org / devstudio.jboss.com for better guarantee of performance / version. Each connector can only define a SINGLE URL for that group of features, however. But that single URL can be a composite site, which in turn points to more than 1 site.
There are two simple rules to follow when writing your discovery plugin.xml:
- connectorIDs must be stable - should not change between releases
- Where license terms permit, 3rd party content should be mirrored first onto download.jboss.org and/or devstudio.jboss.com, so that the site content can be more easily controlled / guaranteed
How about some working examples?
JBoss Tools 3.3:
JBoss Developer Studio 5.0: