Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Interoperability between p2-layout-resolver and tycho #40

Open
reckart opened this issue Nov 29, 2023 · 2 comments
Open

Interoperability between p2-layout-resolver and tycho #40

reckart opened this issue Nov 29, 2023 · 2 comments

Comments

@reckart
Copy link
Contributor

reckart commented Nov 29, 2023

It seems there could be a problem when mixing p2-layout-resolver and and tycho in the same project.

eclipse-tycho/tycho#3099

Note that Apache UIMA has been successfully mixing them for some years now, but recently we ran into a strange problem where tycho suddenly wasn't able to resolve some dependencies anymore.

This happened when we built against the Eclipse 2022-09 update site and switching to 2023-09 miraculously fixed the problem... but it does not feel like a convincing "fix" - more like a hack.

@laeubi suggested that mixing p2-layout-resolver and tycho in a single reactor could be "too much stuff", in particular because they both claim repository declarations that use the "p2" layout.

This issue is partially to generate awareness that p2-layout-resolver and tycho have been used together in practice successfully and it would be cool if this would also be possible in the future.

Partially, I would like to raise the question if there might be a way to separate the two extensions in such a way that one or maybe both could support an additional layout, e.g. p2-resolver and p2-tycho to allow them to co-exist more peacefully?

Or maybe there are other ideas?

@jesse-gallagher
Copy link
Member

Hmm, yeah, it certainly makes sense that they would step on each others' toes pretty heavily. I developed this for cases where I was moving away from Tycho, so it's designed with the assumption that Tycho isn't involved.

I agree that it'd make sense to look into supporting a different layout name, so that you'd be able to differentiate the two. Honestly, looking back, it'd have been better for this project to not claim "p2" from the start, so I'm a bit tempted to make that breaking change and call it 2.0.

@reckart
Copy link
Contributor Author

reckart commented Dec 1, 2023

They don't seem to step on each others toes too heavily - if they did, UIMA would never have been able to mix them successfully for such a long time. Even now, we found a working configuration again - which incidentally just differs in the P2 repo we connect to.

For me personally, it even has a certain charm that both are using p2 since that means that I don't have to declare the same repo twice in the POM.

I like both p2-layout-resolver and tycho and it is great that one can mix them up to do different things, e.g. p2-layout-resolver to build OSGI bundles using the maven-bundle-plugin / bnd and e.g. tycho to build eclipse features and update sites.

But it appears there may be situations where their coexistence suddenly breaks for no obvious reason.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants