Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tycho-user] Tycho POM less not finding feature dependency in target platform


A few times I've done builds with -X to see all the details of what's being passed to the various mojos; but you've probably used that before to see how things are configured...

In terms of tycho-p2-repository:assemble-repository, if I recall/understand correctly, the inclusion in the repository makes a distinction between "inclusion" dependencies (p2 requirements on one specific version) versus other types of dependencies (p2 requirements over a range of versions).    At the top level, you decide what should be in the repo, but, even if includeAllDependencies is false, I believe there is still transitive inclusion of specific version dependencies but no transitive inclusion for dependencies with ranges of versions (as when includeAllDependencies is true).  That what I think the documentation means:

  By default, only (transitive) inclusions of the published artifacts are aggregated. Set this parameter to true to aggregate all transitive dependencies, making the resulting p2 repository self-contained.


On 29.09.2020 08:44, Gunnar Wagenknecht wrote:
On Sep 29, 2020, at 07:11, Ed Merks <ed.merks@xxxxxxxxx> wrote:

Given you specify includeMode="slicer" (rather than includeMode="planner") and given that you don't specify in your slice, shouldn't you expect the target platform not to include
I thought so, too but apparently that is not the case. FWIW, the target file is generated from a tpd file.

I realized that my p2repository Maven project was not using any target platform at all. Thus, it should only see the things that are part of the same reactor. That's probably the reason why it fails. After changing the POM of the p2repository project to use set target file I posted things started working as expected.

It looks like Tycho ignores the slices/planner settings in the target file. However, it looks like p2 is not able to build the final repository as it wants to resolve all the required dependencies. Is there a way to disable that? <includeAllDependencies> is not set, i.e. it should default to false.


Back to the top