Skip to content

Conversation

@reneSchm
Copy link
Member

@reneSchm reneSchm commented Sep 17, 2025

Changes and Information

Please briefly list the changes (main added features, changed items, or corrected bugs) made:

  • Reworked CLI internals to reduce compile time.
  • Add "default options" feature to the CLI, implementing a common CLI usage pattern.
  • Add a ParameterSetBuilder to simplify creating parameter sets specifically for use with the CLI.

If need be, add additional information and what the reviewer should look out for in particular:

  • The new StringLiteral comparision operators are currently unused. It is a leftover of a different solution for finding cli::ParameterSet members. The operators can be removed on request.

Merge Request - Guideline Checklist

Please check our git workflow. Use the draft feature if the Pull Request is not yet ready to review.

Checks by code author

  • Every addressed issue is linked (use the "Closes #ISSUE" keyword below)
  • New code adheres to coding guidelines
  • No large data files have been added (files should in sum not exceed 100 KB, avoid PDFs, Word docs, etc.)
  • Tests are added for new functionality and a local test run was successful (with and without OpenMP)
  • Appropriate documentation within the code (Doxygen) for new functionality has been added in the code
  • Appropriate external documentation (ReadTheDocs) for new functionality has been added to the online documentation
  • Proper attention to licenses, especially no new third-party software with conflicting license has been added
  • (For ABM development) Checked benchmark results and ran and posted a local test above from before and after development to ensure performance is monitored.

Checks by code reviewer(s)

  • Corresponding issue(s) is/are linked and addressed
  • Code is clean of development artifacts (no deactivated or commented code lines, no debugging printouts, etc.)
  • Appropriate unit tests have been added, CI passes, code coverage and performance is acceptable (did not decrease)
  • No large data files added in the whole history of commits(files should in sum not exceed 100 KB, avoid PDFs, Word docs, etc.)
  • On merge, add 2-5 lines with the changes (main added features, changed items, or corrected bugs) to the merge-commit-message. This can be taken from the briefly-list-the-changes above (best case) or the separate commit messages (worst case).

@reneSchm reneSchm self-assigned this Sep 17, 2025
@reneSchm reneSchm added the class::feature A feature to be implemented for some part of the software label Sep 17, 2025
@reneSchm reneSchm added loc::backend This issue concerns the C++ backend implementation. class::improvement Cleanup that doesn't affect functionality labels Sep 17, 2025
@codecov
Copy link

codecov bot commented Sep 17, 2025

Codecov Report

❌ Patch coverage is 97.98658% with 6 lines in your changes missing coverage. Please review.
✅ Project coverage is 97.25%. Comparing base (52ed3c1) to head (e251cc7).

Files with missing lines Patch % Lines
cpp/memilio/io/cli.h 96.59% 6 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1377      +/-   ##
==========================================
- Coverage   97.27%   97.25%   -0.03%     
==========================================
  Files         175      176       +1     
  Lines       15306    15439     +133     
==========================================
+ Hits        14889    15015     +126     
- Misses        417      424       +7     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@HenrZu HenrZu self-requested a review September 18, 2025 07:01
Copy link
Contributor

@HenrZu HenrZu left a comment

Choose a reason for hiding this comment

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

Great addition :) Should be used more. Added some comments but most of them are just typos

@HenrZu
Copy link
Contributor

HenrZu commented Oct 6, 2025

maybe create an issue? and we also need to adjust the rtd doc

@reneSchm reneSchm linked an issue Oct 7, 2025 that may be closed by this pull request
2 tasks
@reneSchm reneSchm changed the title Add default options and a builder to CLI 1379 Add default options and a builder to CLI Oct 7, 2025
@reneSchm reneSchm requested a review from HenrZu October 7, 2025 15:34
Copy link
Contributor

@HenrZu HenrZu left a comment

Choose a reason for hiding this comment

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

some short comments regarding the doc. When done, we can merge :)

@reneSchm reneSchm requested a review from HenrZu October 10, 2025 10:16
Co-authored-by: Henrik Zunker <69154294+HenrZu@users.noreply.github.com>
@HenrZu HenrZu merged commit 08a6cf0 into main Oct 10, 2025
@HenrZu HenrZu deleted the cli-add-set-builder branch October 10, 2025 10:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

class::feature A feature to be implemented for some part of the software class::improvement Cleanup that doesn't affect functionality loc::backend This issue concerns the C++ backend implementation.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add default options and a builder to CLI

3 participants