-
-
Notifications
You must be signed in to change notification settings - Fork 303
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
Backward incompatibility due to the decoration around -runstartlevel
#5260
Comments
I agree this is a regression. The new decoration code changed the semantics of the old decoration code by adding literals. At least for all headers that use Project.getBundles(). I think the new semantics do make some sense but the backward incompatibility is quite bad. Having to add a '*' to each bsn is quite ugly. Maybe we can use another character for decorators with this new behavior? I.e. a '+' for only decorating when the literal matches and '!' for matching & adding literals.
This is a very simple fix in the |
This can be handled by making the items not a literal: See Lines 30 to 49 in cff2231
The Bnd build itself relies upon the adding of literals: Lines 41 to 42 in cff2231
Interesting, but then you have to decide how |
Perhaps this is a case where that thing you did (which I am unsure how to use) to allow people to disable new features? https://github.com/bndtools/bnd/blob/master/biz.aQute.bndlib/src/aQute/bnd/build/6.4.0.bnd |
This is what Amit did, we added a
Yeah, existential questions :-) I think we can toss a coin. This is new behavior so as long as we're consistent people can properly use it. I expect people to use one or the other. My head explodes thinking how to organize that. Shall we do this? It is a two liner, I can fix it if you're ok with this approach. |
What is a two-liner? I am not sure I understand your proposed change. Perhaps a call to discuss is in order. |
Complete the changes by changing the `+` behavior back to not adding literals. Fixes bndtools#5260 Signed-off-by: BJ Hargrave <[email protected]>
Thanks a lot @bjhargrave and @pkriens to take care of it so carefully 👍 |
@amitjoy Please confirm the latest 6.4.0-SNAPSHOT fixes this for you and I will then push the fix to a new 6.3.0 RC build. |
@bjhargrave on it |
@bjhargrave I am hereby confirming that the behaviour is once again backward compatible and works as expected. Thanks a lot once again for your quick support as always 👍 |
In our project, we have a central bnd file where we have specified all the start levels for all the different bundles and all bndruns now inherit the start levels from this root bnd file. Now, when I run any one of them (bndrun), all the bundles specified in the start level list (
-runstartlevel
) are installed even though the bndrun doesn't have them in its-runbundles
list.In addition, I also have a project which uses the root
-runstartlevel
to prepare a metadata bundle comprising the start levels of all associated bundles.Due to the introduction of decoration around start level (
-runstartlevel
), if I append*
at the end of all bundles, bndruns work as expected as now*
acts as optional type. But, now the aforementioned metadata bundle is unusable as it now contains a*
in all the bsns.Is it anyway possible to make the decoration around
-runstartlevel
optional or at least if it is possible to have it the way as it was before?The text was updated successfully, but these errors were encountered: