-
Notifications
You must be signed in to change notification settings - Fork 60
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
Introduce a new links
category for the YAML definitions
#691
base: master
Are you sure you want to change the base?
Conversation
59cfd7b
to
f89ff67
Compare
From a technical point of view this is ready. I can successfully build the complete stack with this and key4hep/EDM4hep#373 without any changes to the stack, apart from a few cases where the deprecated |
c796d07
to
b004e7a
Compare
a8cb251
to
f5cbd4d
Compare
@peremato this should also address your concerns about having to discover these links for the Julia interface, I think. Now they will just be listed as a separate category in the YAML file, and you should have all the necessary information again to generate the necessary code, I think. |
Add the new category so that it can be read
Effectively a header per link with a typedef and a common .cc file with registration code for all links
Otherwise things start to break in cases where users explicitly use these types at the moment.
f78bf83
to
672e448
Compare
python/podio_gen/cpp_generator.py
Outdated
if datamodel["links"]: | ||
self._write_links_registration_file(datamodel["links"]) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if datamodel["links"]: | |
self._write_links_registration_file(datamodel["links"]) | |
if theLinks := datamodel.get("links"): | |
self._write_links_registration_file(theLinks) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done. Plus bumped minimal python requirements to 3.8 in README
Co-authored-by: Andre Sailer <andre.philippe.sailer@cern.ch>
BEGINRELEASENOTES
links
category into the YAML grammar to automate the declaration of Links.ENDRELEASENOTES
Diff wrt to #257
As can be seen from the diff above, I needed to change the definition of the
PODIO_DECLARE_LINK
macro, and it now only deals with the registration to theCollectionBufferFactory
and there is a separate macro to deal with the registration to theSIOBlockFactory
. Otherwise, it becomes hard to only build the "central" part of a datamodel without any dependencies on an I/O backend. This could be lifted to #257 if we wanted.