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

Implementing Config Files #91

Merged
merged 36 commits into from
Feb 9, 2024
Merged

Conversation

rtysonCLAS12
Copy link
Contributor

Purpose of pull request is to implement config files in iguana eg for configuring different algorithms. The desired file format must be able to contain all data types used in iguana (int, double, string, and arrays of), library for this file format must be able to parse and serialise to the file format. We also want the file format to be type independent or at least easily pluggable into the algorithm type variant.

Current pull request investigated using INI with the GLib library. This might not be suitable due to a requirement for the file format to be able to hold arrays of dictionaries. Current PR made following changes:

Added functionality to read from INI file
Added ZVertexCut as example
Added example for reading INI files (will get rid of this eventually but has example code for serialising)
Added an example forZVertexCut

NB: This is currently a draft PR as we investigate different file formats.

…e, added example for reading INI files and ZVertexCut
@rtysonCLAS12 rtysonCLAS12 marked this pull request as draft January 25, 2024 22:23
@rtysonCLAS12
Copy link
Contributor Author

Latest commit changed the config file format to YAML using the yaml-cpp library. This allows for type invariant config files and we can now have arrays of maps which allows us to define run & pid dependent cuts.

Changes in latest commit:
Removed INI functionality
Added YAMLReader
Changed ZVertexFilter to use YAML
Added an example to use the YAMLReader
Did some refactoring

@rtysonCLAS12 rtysonCLAS12 changed the title Implementing Config Files (Draft PR) Implementing Config Files Jan 26, 2024
@rtysonCLAS12 rtysonCLAS12 marked this pull request as ready for review January 26, 2024 21:06
@c-dilks
Copy link
Member

c-dilks commented Jan 26, 2024

meson.build:23:14: ERROR: Dependency lookup for yaml-cpp with method 'pkgconfig' failed: Invalid version, need 'yaml-cpp' ['>=0.8.0'] found '0.7.0'.

ubuntu-latest CI runner and its outdated packages 😭

This is also why we build a newer fmt in the CI...

At least macOS tests 00 and 01 are working.

meson.build Outdated Show resolved Hide resolved
@c-dilks
Copy link
Member

c-dilks commented Feb 1, 2024

I pushed a lot of commits here. I'm gonna reset your branch to where you left off, and put all my changes on a separate branch and file a PR against your fork, so you can see the difference and review. Then we can merge the two together into main when we're happy enough.

@c-dilks c-dilks merged commit a1a7cda into JeffersonLab:main Feb 9, 2024
36 checks passed
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.

2 participants