Skip to content
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

Open
wants to merge 11 commits into
base: master
Choose a base branch
from

Conversation

tmadlener
Copy link
Collaborator

@tmadlener tmadlener commented Sep 26, 2024

BEGINRELEASENOTES

  • Introduce a new 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 the CollectionBufferFactory and there is a separate macro to deal with the registration to the SIOBlockFactory. 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.

@tmadlener
Copy link
Collaborator Author

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 Association headers were still in use and which should be fixed soon.

doc/datamodel_syntax.md Outdated Show resolved Hide resolved
@tmadlener
Copy link
Collaborator Author

@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.

Comment on lines +552 to +555
self._write_file(
"DatamodelLinkSIOBlock.cc",
self._eval_template("DatamodelLinksSIOBlock.cc.jinja2", link_data),
)
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs to be behind an if statement and should only be generated in case SIO as actually enabled as a backend.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant