Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tycho-user] Product dependency resolution does not match expected result in PDE

Hi Joe,

just that some on the bundles (probably) can't resolve does not mean the product can't work. And thus its not necessary a reason to fails the build. Some features might be optional, bundles might be installed on the fly or via update-sites on first start up or user choice, there are numerous ways a product can still work.

Even if everything is validated ok, the product might not work at all how the user expects so there is no guarantee (configuration might be missing, platform might not match and so on)!

In general, if you suspect a bug its the best to create a small reproducer (e.g. on github) to show the issue, it is the much easier to help or suggest configuration changes.

In this particular case, tycho just validates that all mentioned features / plugins are there, it does not validates that all its dependencies are fulfilled due to the reasons described above. Even though it could be possible to have some kind of "validate-product" goal that exactly do this, you could open an enhancement request for this.

Am 16.12.20 um 19:43 schrieb Shannon, Joe (DLSLtd,RAL,LSCI):
Hi all,
Before opening a bug/enhancement I just wanted to check that my understanding of this is accurate. I have noticed a discrepancy between PDE product resolution/validation and Tycho product resolution.

A couple of steps to summarise findings:

  * Create plugin1 and plugin2 and add a dependency (either
    Import-Package or Require-Bundle) so that plugin2 requires plugin1
  * Create a plugin based product which includes plugin2 in its contents
  * Attempt to launch the product in Eclipse, this gives a validation
    error with a missing constraint (which is expected as plugin1 should
    also be in the plugin contents)
  * Build the product with Tycho and it succeeds i.e. plugin1 is
    installed into the built product and the product appears to be

Similarly, for feature based products:

  * plugin1 and plugin2 as before
  * Create feature1 which includes plugin2 only
  * Create feature based product which includes feature1
  * This fails to launch from Eclipse as plugin1 is required by plugin2
    but is not included in any of the product's features (or their
    included transitive features)
  * The Tycho build succeeds as in the previous case

Another observation is that the p2 repository generated for these products during tycho-p2-repository:assemble-repository contains plugin2 but not plugin1.

Is it expected for Tycho to behave in this way? It seems to me that if the products are failing to launch from Eclipse then it does really signal that the product definition (or further down the included feature hierarchy) is incomplete.

We have recently switched to Tycho from Buckminster and now have the situation where the CI build for products can pass but we then later have an error when launching the product in Eclipse.

Thanks in advance,


This e-mail and any attachments may contain confidential, copyright and or privileged material, and are for the use of the intended addressee only. If you are not the intended addressee or an authorised recipient of the addressee please notify us of receipt by returning the e-mail and do not use, copy, retain, distribute or disclose the information in or attached to the e-mail. Any opinions expressed within this e-mail are those of the individual and not necessarily of Diamond Light Source Ltd. Diamond Light Source Ltd. cannot guarantee that this e-mail or any attachments are free from viruses and we cannot accept liability for any damage which you may sustain as a result of software viruses which may be transmitted in or with the message. Diamond Light Source Limited (company no. 4375679). Registered in England and Wales with its registered office at Diamond House, Harwell Science and Innovation Campus, Didcot, Oxfordshire, OX11 0DE, United Kingdom

tycho-user mailing list
To unsubscribe from this list, visit

Back to the top