Skip to content

(cpp) Add C++ query implementation - #201

Draft
daantimmer wants to merge 64 commits into
mainfrom
feature/cpp
Draft

(cpp) Add C++ query implementation#201
daantimmer wants to merge 64 commits into
mainfrom
feature/cpp

Conversation

@daantimmer

@daantimmer daantimmer commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

🏷️ What kind of change is this?

  • ⚡ New feature (non-breaking change which adds new behaviour)

📋 Checklist:

  • I agree to respect and uphold the Cucumber Community Code of Conduct
  • I've changed the behaviour of the code
    • I have added/updated tests to cover my changes.
  • My change requires a change to the documentation.
    • I have updated the documentation accordingly.
  • Users should know about my change
    • I have added an entry to the "Unreleased" section of the CHANGELOG, linking to this pull request.

daantimmer and others added 30 commits July 19, 2026 19:03
…Steps, findAllTestStepStarted, findAllUndefinedParameterTypes, findAttachmentsBy
…edBy, FindTestRunHookStartedBy, FindTestRunStarted
@daantimmer daantimmer changed the title Feature/cpp (cpp) Add C++ query implementation Aug 10, 2026
@daantimmer
daantimmer marked this pull request as ready for review August 12, 2026 22:18
@mpkorstanje
mpkorstanje self-requested a review August 17, 2026 08:39
Comment thread cpp/cmake/conan_provider.cmake Outdated
@@ -0,0 +1,722 @@
# The MIT License (MIT)
#
# Copyright (c) 2024 JFrog

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Why JFrog?

Comment thread .github/workflows/test-cpp.yaml Outdated
# against. For releases use a tag matching the version required in
# cpp/CMakeLists.txt (find_package) and cpp/conanfile.py; for cross-repo
# feature work, set this to the messages branch under test.
MESSAGES_REF: 8cd6cacecd0a657095c93b069c850f51009e0499

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This should be an exact version, updateable by Renovate, and preferably not kept here.

@mpkorstanje mpkorstanje left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM except for the way messages fetched. I assume Conan will fix that?

@daantimmer

Copy link
Copy Markdown
Contributor Author

@mpkorstanje I am going to revert the conan changes in all honesty. I've been trying to get it to work in a satisfying and useable way. But its usability isn't on-par as to what cucumber needs sadly.

All the packages that we depend on are available in system packages, so I am updating the test builds to use those available to linux, macos and windows. The downside is we don't have control over the exact installed packages, OTOH, if the tests work with an older version than that should be fine too.

Yes conan can work with github releases but setting it up properly is a tremendous amount of manual updating dependencies.

I'll have a look at the comment w.r.t. the hash a bit later after I removed the conan things. Currently very busy on giving the cucumber/pretty-formatter a cpp makeover. And doing so I am updating Query as well to update some useability issues.

p.s. I thought I created this as a draft, but apparently vscode tricked me in to creating a non-draft. Will downgrade to draft. Sorry about that.

@daantimmer
daantimmer marked this pull request as draft August 31, 2026 20:40
@mpkorstanje

Copy link
Copy Markdown
Member

Okay, no problem.

All the packages that we depend on are available in system packages, so I am updating the test builds to use those available to linux, macos and windows. The downside is we don't have control over the exact installed packages, OTOH, if the tests work with an older version than that should be fine too.

I'd prefer it if we did depend on a specific version. Waiting for system packages is a bit too slow too make a comfortable feedback cycle.

But we should depend on a specific version, not a hash. and Renovate should be able to update that. We've done that before so I hope we can reuse that mechanism.

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.

3 participants