I have an internal p2 site with a number of different utility features we use in our products. I have just added a new set of plug-ins along with a new feature for utility functions for RAP (whereas the "old" functionality is for RCP/SWT).
In order to compile stuff, I use two different target platforms (one for RCP and a new one for RAP) and refer to these from the plug-ins and features. I have organized the modules so I have
- ...parent - with all the common Tycho and Maven booking
- ...parent.rcp - container for all plug-ins that depends on/uses RCP/SWT functionality - also sets the target platform to include RCP/SWT features
- ...parent.rap - same for RAP
No problems there. Everything compiles and all tests runs.
I even have some of the existing plug-ins in both the features (RCP and RAP) as they don't depend on any UI functionality (e.g. OSGi test utilities). No problems there either.
But... when I try to make a single p2 update site with both the features (RCP and RAP), I run into a problem. I get the following message:
------------------------
[INFO] Resolving dependencies of MavenProject: com.rcpcompany:com.rcpcompany.uibindings.updatesite:3.0.0-SNAPSHOT @ /Git/ui-bindings/com.rcpcompany.uibindings.updatesite/pom.xml
[INFO] Cannot complete the request. Generating details.
[INFO] Cannot complete the request. Generating details.
[INFO] {
osgi.ws=gtk, osgi.os=linux, osgi.arch=x86, org.eclipse.update.install.features=true}
[ERROR] Cannot resolve project dependencies:
[ERROR] Software being installed: com.rcpcompany.uibindings.updatesite raw:3.0.0.'SNAPSHOT'/format(n[.n=0;[.n=0;[-S]]]):3.0.0-SNAPSHOT
[ERROR] Missing requirement: com.rcpcompany.utils.rap.feature.feature.group 1.0.0.qualifier requires 'org.eclipse.rap.ui.forms 0.0.0' but it could not be found
[ERROR] Cannot satisfy dependency: com.rcpcompany.uibindings.updatesite raw:3.0.0.'SNAPSHOT'/format(n[.n=0;[.n=0;[-S]]]):3.0.0-SNAPSHOT depends on: com.rcpcompany.utils.rap.feature.feature.group [1.0.0,1.0.1)
[ERROR]
[ERROR] Internal error: java.lang.RuntimeException: "No solution found because the problem is unsatisfiable.": ["Unable to satisfy dependency from com.rcpcompany.utils.rap.feature.feature.group 1.0.0.qualifier to org.eclipse.rap.rwt.osgi [2.0.0,2.1.0).", "Unable to satisfy dependency from com.rcpcompany.utils.rap.feature.feature.group 1.0.0.qualifier to org.eclipse.rap.rwt.testfixture [2.0.0,2.1.0).", "Unable to satisfy dependency from com.rcpcompany.utils.rap.feature.feature.group 1.0.0.qualifier to org.eclipse.rap.ui.forms 0.0.0.", "No solution found because the problem is unsatisfiable."] -> [Help 1]
....
---------------
As the update project is associated with the RCP target platform, I understand the messages above such that Tycho (or p2) cannot find the plug-ins from the RAP target platform and complains.
(If I make two different update sites, everything works, but I don't want that :-/)
How can I convince Tycho to make my update site? Do I have to make a combined target platform with all the possible dependencies or are there another way?
/Tonny
--
Tonny Madsen
My profiles: