I added one more item to the agenda, if time is available I'd like to discuss an idea for bridging PDE and Maven in the context of Virgo, so that one could use PDE and have dependencies automatically managed by Maven.
In the Eclipse echo-system there are two main approaches when working with OSGi, plus a third one if you use the Virgo tools:
1) Eclipse PDE
2) BND Tools
3) Virgo Tools Bundlor
PDE is maybe the most mature tool, but it is unoptimal because it resolves dependencies against a PDE Target Platform Definition (TPD).
A TPD can be created as a collection of folders containing bundles and P2 sites, but it does not support Maven.
Since 1.5 of the Virgo Tools, it's possible to develop for Virgo using PDE. The Tools can read the Virgo Runtime repository config and create a PDE TPD for you automatically. This approach is good for PDE, but you are left with the annoyance of having to collect and copy your dependencies in file system folders that you will list in the Virgo repository config file, so that Virgo finds them at runtime and PDE finds them at compile time as content of the TPD.
I think I found a possible way to bridge PDE, Virgo and Maven toghether, so that PDE could build the target platform from Maven dependencies.
I could extend PDE with a new type of location for bundles (via an already existing extension point).
This new location would be implemented to iterate over all the Virgo projects in the workspace, inspect the content of their Maven classpath container entry, and add contained bundles to the TPD. In addition to that the tools should provide a new classpath container entry that lists the bundles in
/ext and /usr folders (e.g. "Virgo Runtime" classpath entry).
In this way PDE would use a target platform definition that contains the maven dependencies of the
At publish time, the Maven dependencies should be copied into the stage folder (the extra Virgo repository folder) which is created by the Virgo Tools before starting the server.
It should work.