Add SDK and CLI compilation test #1131
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR extracts a test I was working on in a separate branch. The goal is to verify that the SDKs and CLIs that are generated via tests actually compile.
This is done via a small macro that takes a schema file and outputs the generate SDK and CLI tokens. These tokens are contained within a test function which will fail to compile if the SDK or CLI fail to compile. If they do successfully compile then the test trivially passes.
Notably the currently checked in buildomat and nexus files currently fail this test during CLI compilation. I have not tracked it down yet, but it looks to likely be related to the handling of Vec arguments to the CLI.
buildomat.json
ValueEnum
is not implemented fortypes::GetThingOrThingsId
This tracks as there is no derive or manual implementation for
GetThingOrThingsId
The other error here (which is also the case with nexus.json), I am a little less clear on:
But presumably is related to the generated
TypedValueParser
construction here: