Community
Participate
Working Groups
The current metadata generator causes the metadata/artifact(s) for the SimpleConfigurator to be included in the content.xml, so that the target install may be managed by the SimpleConfigurator. (As I understand it) once the SimpleConfigurator bundle is installed and started in the framework, then ConfigurationManipulator switches to using the SimpleConfigurator (exactly how this happens is still a little fuzzy for me - Pascal can provide a sensible description). However, the order in which the IUs appear and are process by the Engine is a somewhat arbitrary result of the dependency resolution process so the point at which the SimpleConfigurator starts getting used is somewhat random. This means that the Eclipse Touchpoint produces a config.ini file with a list of osgi.bundles in it for a while, then switches to using a bundles.txt file. The config.ini file is read and rewritten for each bundle that is added. With ~4000 bundles in a big install, this is a major performance problem. 1). The InstallableUnits in an install should be sorted to get the SimpleConfigurator bundle installed early (top sort the dependency graph and install leaves first...). 2). config.ini and/or bundle.txt should be re-read as seldom as possible - eg. write for every addition, but only re-read if the current version is inconsistent with that last written.
The operands provided to the engine are now topologically sorted and thus ensuring simpleconfigurator is added early. As for the performance worry, the configuration is now only been written/read once per phase thus limiting the number of time we go to the filesystem.