JBoss Central, based on Mylyn Discovery, is in part a UI for installing new features into Eclipse or JBDS. It provider a richer, yet simpler UI than what Eclipse's p2 Install Manager provides out of the box.
The Software/Update tab in Central is backed by 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
- http://download.jboss.org/jbosstools/updates/stable/indigo/jbosstools-directory.xml (Source: jbosstools-directory.xml)
- Contains both Core and SOA - points at the following jars:
- org.jboss.tools.central.discovery_.*.jar (Source: plugin.xml)
- org.jboss.tools.central.discovery.soa-tooling_*.jar (Source: plugin.xml)
- Each jar's plugin.xml then lists a number of connectors, which are groups of features wrapped by a simpler UI than what Eclipse's p2 Install Manager provides out of the box.
- Contains both Core and SOA - points at the following jars:
- http://download.jboss.org/jbosstools/updates/stable/indigo/jbosstools-directory.xml (Source: jbosstools-directory.xml)
- JBoss Developer Studio 5.0
- https://devstudio.jboss.com/updates/5.0/devstudio-directory.xml (Source: devstudio-directory.xml)
- Contains both Core and SOA - points at the following jars:
- com.jboss.jbds.central.discovery_*.jar (Source: plugin.xml)
- com.jboss.jbds.central.discovery.soa-tooling_*.jar (Source: plugin.xml)
- Each jar's plugin.xml then lists a number of connectors.
- Contains both Core and SOA - points at the following jars:
- https://devstudio.jboss.com/updates/5.0/devstudio-directory.xml (Source: devstudio-directory.xml)
- JBoss Tools 4.0
- http://download.jboss.org/jbosstools/updates/stable/juno/jbosstools-directory.xml (Source: jbosstools-directory.xml)
- Contains both Core and SOA - points at the following jars:
- org.jboss.tools.central.discovery_.*.jar (Source: plugin.xml)
- org.jboss.tools.central.discovery.soa-tooling_*.jar (Source: plugin.xml - SUBJECT TO CHANGE)
- Each jar's plugin.xml then lists a number of connectors.
- Contains both Core and SOA - points at the following jars:
- http://download.jboss.org/jbosstools/updates/stable/juno/jbosstools-directory.xml (Source: jbosstools-directory.xml)
- JBoss Developer Studio 6.0
- https://devstudio.jboss.com/updates/6.0/devstudio-directory.xml (Source: devstudio-directory.xml)
- Contains both Core and SOA - points at the following jars:
- com.jboss.jbds.central.discovery_*.jar (Source: plugin.xml)
- com.jboss.jbds.central.discovery.soa-tooling_*.jar (Source: plugin.xml - SUBJECT TO CHANGE)
- Each jar's plugin.xml then lists a number of connectors.
- In JBDS 6, these connectors (feature groups) are now labelled as "Tested" or "Supported".
- Contains both Core and SOA - points at the following jars:
- https://devstudio.jboss.com/updates/6.0/devstudio-directory.xml (Source: devstudio-directory.xml)
Comments