We have several projects that use Eclipse features and their associated plugins:
- uimaj-sdk: the set of basic plugins, like the Component Descriptor Editor, the Pear packager, the Eclipse Debug support, base runtime, etc.
- uima-as: adds support for the deployment descriptor to the Component Descriptor Editor
- cas-editor (currently packaged as part of the uimaj-sdk)
The Update site manages various versions of these, and also supplies a top level "categorization" of these. The categorization is supplied (currently) in the top level "site.xml" file. In the P2 layout, this is provided by the
category.xml file (there's an editor in Eclipse to create / maintain this).
We currently are using the categories:
Convert to an approach which has multiple update sites, bound together
by one top-level aggregate update site. This site lists the
sub-sites; the Eclipse (P2) install support reads this, finds the sub-sites,
reads them, and aggregates all of this into a seamless set of menus, as if all of these sub-sites had been put together.
This design choice is taken to improve future maintenance. For example, to update the textmarker, only that sub-site would need updating.
Make the subsites just be subdirectories of the published composite update site.
The "categories" can be cross-cutting, across sub-update-sites. For instance, if we continue to have the category uima-tooling-and-runtimes then a sub-update-site might categorize some of its features here.
Given that Eclipse has had support for P2 install formats since 2008, drop the no-longer used site.xml and digest.zip files.
Convert the uimaj-eclipse-update-site to build a "subsite" for the composite
site, in the P2 style. Change the build steps to use the p2 style Ant tasks, as pioneered by Peter. Change the build to fetch the entire set of versions, so the P2 builders can do their work with the complete set.
Delete non-packed artifacts that have corresponding packed ones to reduce the size requirements.
Add a new project, builds/trunk/eclipse-composite-update-site, based on the eclipse-packagings project. Updates to this would only be needed when the composite structure is changed. Make this reference (initially)
two sub-update-sites - the uimaj-eclipse-update-site, and a new update site
for the uima-as project. TextMarker would be a third update site that will be added once it's released.
Change the uima-as project to add a new update site for it, which will "add"
the deployment editor feature, in the P2 form.
Update the build/parent-pom to change the update site build to use the new P2 tooling, to share consistent build and configuration setups across multiple update sites.