-
Notifications
You must be signed in to change notification settings - Fork 8
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
passage.loc-based product fails on startup #1364
Comments
The changed files all need to reference scr-v1.3.0 Fixes eclipse-passage#1364
Indeed, when Passage Licensing Operator starts, it reports
and
which causes majour disfunction of the product. Moving these two components' xml declarations
Investigation is in progress. |
The change from #1356 e.g. in
In version DS version 1.2 chapter
I assume Btw. if you contemplate to revert the change mentioned above, my suggestion would be to just continue with #1362 to fix the SCR files since 1.3 is supported by the Felix SCR (which is used by Eclipse) since 2015: On the long run I would furthermore continue with #1365 to avoid such synchronization errors in total in the future. |
Thank you for the detailed explanation @HannesWell For now I prefer to keep All such synchronization errors were introduced by me manually, because I was scared by the diff that has no "activate" method anymore. And I was not alone, there are many developers in many countries who were scared by this as well. Moreover I do not think that removing OSGi component manifests is what I would like to have, I agree with @castortech : these are still sources. |
Its not about verbosity of the XML file, but about using what's available because you now had to rework the code of the implementation to be way more verbose than it has to be.
But didn't not relying on the tools and trying to do/control it manually lead to this entire problem? The statement about submitting byte-code in the referenced issue might be exaggerated but in it's core it is right: One should trust your tools, usually they are right. Of course, like every other software they are not bug-free, but usually humans error far more often. And if you really encounter a bug it should be fixed, so it is better to use the tools more also to find bugs faster. Anyway in the end what matters to me is that it works, how it is achieved is your decision. |
I'm all for tools, but for me transition to a tool version that started to remove "activate" still does not look friendly enough. Because I have no idea regarding how this "default" will be interpreted by older Platform versions, for example. May be a comprehensive spec for this default and other defaults does exist somewhere, I don't know, The same for removing component manifests. If I do so, I need to say for every bundle in some formal way (i.e., in a way recognizable for other tools) that it requires Tycho version X++ to be compiled, otherwise component manifests will not appear and things will not work on runtime. |
The default is specified as described in
If another platform behaves differently it does not comply with the spec and that platform should be fixed or one should worry what else is different there.
I want to emphasize that I didn't suggest to remove the component xml files from the built jars. In #1365 I suggest to remove them from SCM/git so that they are always generated in the IDE and the build. So for consumers no specific tool versions are required. |
Yes, I understand, now implementation is closer to an OSGi spec and this is definitely good.
Yes, I understand this. I'm talking about other use cases we have in our practice, when people want to build Passage bundles with another valid "target". For now we have required bundles ( + imported packages) and Java source level. In the case of removal we will need to specify a kind of "target tycho version" as well. The question is how to formalize this new build requirement. |
Yes, that is required by the spec for quite some time see section
Yes it will be used and AFICT there is no way to avoid this. But from the link above you can see that this was the behavior since (probably) ever and only later the possibility to specify another activate method was only added later.
You mean build from source? Then the pom.xml of passage already defines the Tycho version. I wouldn't expect that the build works with an older version (it can, but does not have to). And if you mean if somebody builds against passage bundles from a TP I can only repeat that the built bundles still contain the generated component's XML file. If you mean something else I didn't understand your case. |
In the current master build starting an Eclipse application that contains the bundle
org.eclipse.passage.loc.licenses.core
ororg.eclipse.passage.loc.products.core
fails with the error below and theLicenseDomainRegistry
,ProductDomainRegistry
andProductOperatorServiceImpl
cannot be obtained as OSGi service.As the error indicates, their DS component description files need to reference
scr-v1.3.0
instead of only1.1.0
.The text was updated successfully, but these errors were encountered: