Paul, > Thank you for this, but it is not enough. I don't mean that to come across > ungratefully, but it doesn't fix the problem.
Nothing will ever be enough. Which is good, then we would be out of jobs. :-) The general problem to API stability does not have a solution. It's a continual tussle between ossification and evolution and agility. > We need to also remove backward compatible tags from the enums in the .api > files. The need for this arose from the fact that enums and enum flags got > mixed together a while back. An enum flag is backward compatible, in that > it's size never changes without a redefinition in the .api file. An enum, on > the other hand, is a list of values, and 5 elements != 6 elements. Possibly. But that is out of scope for this change. > A manifest is not a CRC. Vppapigen could trivially generate a separate > manifest with custom logic without breaking the metadata of the api. I would > not recommend that route. I already did the work of supporting plugins with > vppapigen which was already merged, as well as turning vppapigen into a > module [0] which is importable. > I stopped pursuing it because the community feedback was against replacing > the existing symlink in the build. I instead published a fork of it on pypi: > [1]. I would prefer that there was only one code base. A manifest is always specific to the particular client of the API. You would only have APIs actually used in the manifest. > The rationale behind refactoring and contributing the code was to empower > anyone (like say CSIT) to have control over how they wanted to consume the > data. The csit job could run its own manifest generating logic based on > their own needs and the two stay loosely coupled. > > [0] https://gerrit.fd.io/r/c/vpp/+/30080 > [1] https://pypi.org/project/vppapigen/ Do you have any issues with removing the backwards compatible CRC table prior to next release? We can continue to discuss the other issues but I think those are separate from the task of cleaning up the compiler code. Best regards, Ole
signature.asc
Description: Message signed with OpenPGP
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#18868): https://lists.fd.io/g/vpp-dev/message/18868 Mute This Topic: https://lists.fd.io/mt/81108231/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-