-
-
Notifications
You must be signed in to change notification settings - Fork 300
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
Make the usage of RepositoryPlugin <-> Repository more flexible in bnd (run)s #6480
Comments
I stumbled on the two kinds of repositories too when I worked on the tags. But I didn't pay it much attention. But maybe somebody could explain the intention / reasoning behind this.
I just found this:
Do you mean by "making smarter" to do something similar? |
With the embedded repo I mean this one here:
it is a "normal" repo (that can lookup things by name and list all versions) but not an OSGi repo (that can resolve capabilities). With "smarter" I mean this here |
@laeubi |
One thing I noticed quite often now is that when using Bndruns programmatically (not sure if the same problem might occur elsewhere) to perform a resolve operation one sometimes get very strange
could not resolve <<INITIAL>>...
errors.After some digging one finds that this is because there are two kind of "repositories":
RepositoryPlugin
and can be used to resolve e.g. bundle classpath and alikeRepositoryPlugin
sOne example is
biz.aQute.resolve.BndrunResolveContext.getAllRepos()
where it only will get all that are OSGi Repository but this will of course not cover "plain" ones. This is very confusing because the usual bnd operations work, but the resolve suddenly fails.I could think of two ways to resolve this:
aQute.bnd.service.Registry.getPlugins(Repository.class)
automatically wrapsRepositoryPlugin
s that do not implement that interface in aRepository
thats uses the repository plugin as a backend.One example is the "implicit" repository
CachedFileRepo
that come with each Workspace by default, one can use that for all operations in bnd except for resolve... for this purpose one has to explicitly add for examplebiz.aQute.tester.junit-platform
even though it is part of the implict repository.The text was updated successfully, but these errors were encountered: