| Summary: | Cannot deploy a fragment bundle once the host bundle has already been resolved | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | [RT] Virgo | Reporter: | Frieder Heugel <frieder.heugel> | ||||||
| Component: | runtime | Assignee: | Project Inbox <virgo-inbox> | ||||||
| Status: | CLOSED WONTFIX | QA Contact: | |||||||
| Severity: | normal | ||||||||
| Priority: | P3 | CC: | glyn.normington | ||||||
| Version: | unspecified | ||||||||
| Target Milestone: | --- | ||||||||
| Hardware: | PC | ||||||||
| OS: | Windows 7 | ||||||||
| Whiteboard: | |||||||||
| Attachments: |
|
||||||||
|
Description
Frieder Heugel
Created attachment 198899 [details]
Example bundles
Please could you provide the console output for the failing case so that people can easily spot if they are hitting the same problem. Created attachment 198955 [details]
Console output
(In reply to comment #3) > Created attachment 198955 [details] > Console output Thanks Frieder! I have reproduced the problem and, on reflection, have decided that this behaviour is working as designed. There's not much we can do to influence the behaviour of the Equinox resolver and since pickup deployment always involve resolution, this error is expected. Also, the diagnostics give a pretty clear hint that the resolved host is the root of the problem.
Note that a fragment can be successfully attached to a resolved host if the fragment does not import any packages (or do anything else which would require the host to be "re-resolved"). So the mention of the import package constraint conflict in the resolver report is accurate:
The fragment could not be resolved because of a constraint conflict with a host, possibly because the host is already resolved. The affected fragment is org.example.fragment1_1.0.0
Possible hosts:
org.example.host_1.0.0 (resolved)
Constraint conflict:
Import-Package: javax.servlet; version="0.0.0"
One potential enhancement which might help this scenario is if Virgo provided the ability to install but not start a bundle. Then it should be possible to install the fragment and then refresh the host.
Note that refreshing the host should pick up the fragment from the repository if and when enhancement bug 350805 is implemented.
|