I’m curious what when bndtools 7 is planned to be released?
There is no schedule set yet. If you have any requirements, let us know.
I would like to see asap. One reason is that bndtools project creation wizard is a little bit broken for Eclipse versions 2022-09 until now (and 2023-03 is coming out soon), because of the changed handling of the module-info.java file creation in the wizard page one…which is used as the abstract superclass of the bnd project wizard page one.
Anyway, this is a small barrier for bndtools users on new Eclipse versions.
You can make your case if you join the bnd call
I am feeling my way around at the moment. However, we should have a 7.0.0 release in the next few months. Problem is that BJ/IBM was a big part of the bnd effort that will affect the development speed until we find another sponsor like this.
Unfortunately my work schedule makes Friday calls difficult.
However, I have been working on some ‘service creation wizards’ based upon bndtools 7 snapshot, latest Eclipse, and the templates that I added to this bndtools workspace template:
Here’s a Youtube video that I just hacked together.
Note that this wizard/wizard page uses bndtools project templates to actually create the api, impl, and consumer projects for this service. I could expose much of this a either bndtools api or a bndtools/eclipse plugin(s) that would allow other developers to create similar wizard pages quickly and easily for customizing there own bndtools template-created api, impl, consumer projects (i.e. call them service templates).
Let me know if there is interest in generalizing and/or adding some of the support for this directly to bndtools.
Can you elaborate how this expands to non-ecf? It looks pretty cool but also very specific for ecf? I am also not clear how this would integrate. This requires an extra feature to install?
My plan one day is to change the wizards from closely tied to Eclipse to a more generic form that generates the file structures. We already can pick up those changes from the resource changes.
I am always interested in any new features in bndtools …
WRT non-ECF: I propose there would be a new package (alongside existing bndtools core classes) with a small set of classes (e.g. AbstractNewServiceWizard, NewServiceWizardPageOne, NewServiceWizardPageTwo, etc) that support the creation of wizards and use bnd project templates + small/simple subclasses or impls to create service api, impl, and consumer projects.
This would be the main initial contribution to bndtools.
In creating wizard-support classes for this demo I had to pull in a number of bndtools classes (e.g. for creating bnd projects, for loading and reading reading capability templates, etc) as they are not exported currently. If wizard-support classes were in a new public package in bndtools.core then this new code could simply reuse the classes in bndtools.core.
Using these wizard support classes if desired I would create a simple Java/normal OSGi service (e.g service interface + very simple impl/consumer) based upon a bnd tools template and include it. I would also base the ECF remote services (like grpc from demo) on these same support classes. Others interested in adding other types of OSGi service wizards could do so of course.
I think a proposal would be great, and I’d be eager to include it.
Father Krieg experimented with services to back extension point classes. This is your approach as well?
Ok. I’ve started the refactoring so that it can be a new package in bndtools.core. Unless you prefer another name, I’m currently using package name: org.bndtools.core.ui.wizards.service.
After that refactoring I’ll create a pull request for review and discussion. I also would like to include a Java wizard plus template content. Is there some other bundle where I should put template content, or is bundtools.core the right place for that too? I would consider the Java service templates sort of a ‘built-in’ OSGi service wizard.
No, at least not for now. I prefer to add incrementally.
I’m curious about this:
You talking about a service/wiring language or some such?
Is there any updated timeline for bndtools 7 release?
FWIW, if the timing is right I will help with the OSGi 8 updates wrt the minimal and basic workspace templates (required for proper functioning of the Java osgi service wizard).
I have been procrastinating The RC1 should have been done last week.
What time do you need?
I don’t have a usage deadline, but I have some ECF-Remote Services-specific plugins that depend upon the OSGi Service Wizard code that I contributed to bndtools 7.
These bndtools plugins add remote service wizards using ECF Remote Services (i.e. for a couple of distribution providers).
Eclipse 2023-09 is coming out in a few weeks. It might be useful to release bndtools 7 sometime shortly after that.