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

Update repos for API, Ref Impl, Enterprise, Testing, Debug from R7 to R8 #23

Open
scottslewis opened this issue Jun 8, 2023 · 4 comments

Comments

@scottslewis
Copy link
Contributor

Currently, the build.bnd for the bndtools/workspace template has all R7 repos defined. This should be updated to R8 prior to bndtools 7 release.

Also FWIW, the R7 repos referenced in this template do not provide access to the component annotations and this prevents the new service wizard generated code from compiling. I'm assuming that this workspace template should at least contain R8 versions all of the component annotations, org.osgi.annotation.bundle annotations (as central.maven now has), as well as impls of framework, scr and R8 analogs to ref impls (of at least 'many/most' services?)?

i'm not sure where the R8 API, Ref Impls, etc are right now so can't construct proposals/prs for R8 API, Enterprise, Ref Impl, Testing, Debug repos.

@scottslewis
Copy link
Contributor Author

@pkriens @kriegfrj

If someone can provide me with pointers public repos for R8 API, Ref Impl, Enterprise, Testing, and Debug bundles I will create a pr for this.

@pkriens
Copy link
Member

pkriens commented Jun 19, 2023

I am not sure there is one? I'd start with looking at the org.osgi group on Maven search. Only use osgi.jar and the single service/util jars. Implementations are the hard part. I assume you'd prefer Eclipse for the implementations.

If you install the bnd command, take a look at bnd mbr. It provides a number of commands that check the repository mvn files and it can update the dependencies to the latest available versions.

You can now also select a repository in the Repositories View. The Resolution view will then show you missing requirements for the aggregate of all the bundles in the repo.

One day, long time ago, I had the jpm website that was a great help for this stuff ... :-(

@scottslewis
Copy link
Contributor Author

I am not sure there is one? I'd start with looking at the org.osgi group on Maven search. Only use osgi.jar and the single service/util jars. Implementations are the hard part. I assume you'd prefer Eclipse for the implementations.

Not necessarily. Actually I would say that for the framework (R8) it would make sense to have both framework impls available.

But this gets to a larger question: Isn't there someone else in the bndtools dev group that is better suited to doing this than I am? I know I offered to do above but what you are prescribing is a lot more than I expected (tracking down most, some, all, many, of the various OSGi spec/compendium/enterprise impls (e.g. event admin?, package admin?, ...). And I expect that my awareness of the R8/compatible impls (not to mention APIs) is not up to date.

I really don't want to get into an exercise of producing pull requests with various sets of bundles to find out that it's not 'right/complete/correct version' by you or others...see for example the minimum workspace template.

What I would suggest is two things: that the number/contents of the workspace and workspace.min workspace templates be completely re-thought. For example, why not allow/put multiple workspace templates (< 10) workspace template repos into bndtools 7....e.g.

bndtools.workspace.minimal
bndtools.workspace (this one)
bndtools.workspace.compendium
bndtools.workspace.enterprise

...making them as additive as possible. Then all of these could be available from the

  1. I would also suggest some easier way to allow people to add repos to there existing template (i.e. easier than adding a file). What I'm thinking of is some bndtools UI for a) Adding (and Deleting?) repos from build.bnd (Via Repositories View?), and/or Workspace Config editor? maybe b) Some UI that allows selecting/adding repos from workspace templates that are not currently active. The idea is to make is much easier for people to manipulate the number/content of repos without creating new workspace with new/other workspace templates.

If you install the bnd command, take a look at bnd mbr. It provides a number of commands that check the repository mvn files and it can update the dependencies to the latest available versions.

How are bnd command installed and invoked? Is this accessible from bndtools or cmd-line only/both?

You can now also select a repository in the Repositories View. The Resolution view will then show you missing requirements for the aggregate of all the bundles in the repo.

Ok.

One day, long time ago, I had the jpm website that was a great help for this stuff ... :-(

I was under the impression that there existed (still) all osgi R8 API and (for most chapters) ref impls for all of enterprise) (like the osgi compatibility test suite?)

Anyway, I'm willing to help out with this some more, but I do suspect that someone closer to the osgi spec/test suite/build/deploy to maven/others would be able to do this more easily in the immediate term (i.e. for bndtools 7.0.0)

And again, just as a general comment: I do think that rethinking the workspace template number and organization, and providing easier access to changing (most adding to) the set of repos being used in an already-created workspace would make things much easier. Perhaps even adding a notion/format for a 'repo set' that bndtools (and users) could share.

@scottslewis
Copy link
Contributor Author

@pkriens @bjhargrave

If desired, I will help out with the redefinition of this repo (bndtools.workspace) and the minimal workspace (bndtools.workspace.minimal) so that bndtools 7 repos (api, impl, core, compendium, enterprise) can use R8 rather than R7. I'm assuming that the intention is for bndtools 7 (when completed/released) to use R8 by default rather than R7.

I need, however, some guidance on how/where R8 (all API at least, but also felix, equinox, and ref impls) was deployed:

  1. Was R8 deployed (in part or in full) anywhere in addition to Maven Central (jfrog or other)?

  2. Are there any existing list of bundle/versions (.mvn files)?...for bundles at Maven Central or otherwise?

  3. Any other info that you have that would aid in finding repos (bundles) for these workspace templates.

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