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

Add internal caching #6

Open
jesse-gallagher opened this issue Dec 26, 2019 · 3 comments
Open

Add internal caching #6

jesse-gallagher opened this issue Dec 26, 2019 · 3 comments
Labels
enhancement New feature or request

Comments

@jesse-gallagher
Copy link
Member

It'd probably be best to add some filesystem caches like Tycho, but that always has some expiration problems.

@jesse-gallagher jesse-gallagher added the enhancement New feature or request label Dec 26, 2019
@mickaelistria
Copy link

What about directly reusing some Tycho clases as API?
Or what about brining the p2-layout-provider extension directly as a feature into Tycho?

@jesse-gallagher
Copy link
Member Author

I think the former is how I'd go about doing it - I'd want to make sure that the cache use is compatible with how Tycho does it, and so reusing the same code directly makes the most sense.

As for integrating this directly in Tycho, part of it is the daunting prospect of properly contributing to the Tycho codebase, but a more-technical problem is that Tycho already has its own concept of a "p2" repository type that isn't quite the same. However, the actual Maven repository handlers for it in Tycho are, I believe, mostly stubbed out, so it'd likely be possible to add "real" resolution capabilities to them without disrupting their existing use as hooks for the Equinox resolver Tycho uses.

@mickaelistria
Copy link

the daunting prospect of properly contributing to the Tycho codebase

the codebase has some complex part, but some parts are, I hope, easy enough to contribute to.

Tycho already has its own concept of a "p2" repository type that isn't quite the same.

I don't think there is a difference in the definition of a p2 repository. How it can be used or not can make a difference but...

the actual Maven repository handlers for it in Tycho are, I believe, mostly stubbed out, so it'd likely be possible to add "real" resolution capabilities to them without disrupting their existing use as hooks for the Equinox resolver Tycho uses.

This resolver are only used for the eclipse-plugin, eclipse-feature, eclipse-repository and other Tycho-specific packaging types; they wouldn't interfer for a plain "jar" project. And even if there are some conflicts at execution, I think it would still be valuable for Tycho, and for this code, to have it as a separate org.eclipse.tycho:p2-resolution extension, but inside Tycho.
Tycho doesn't strongly maintain APIs, so if you start using APIs, they may change at some point and break this extension; while with being directly inside Tycho, this extension will be built together, and there would be no such risk of unnoticed breaking change before release.

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

No branches or pull requests

2 participants