CLI: Add checksum calculation to avoid unecessary processing when generating code #20
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.
Append checksum on the generated source code based on the input schema file + generator options (namespace + client name). This checksum is initial read on subsequent generation. If the input graphql schema and generator options hasn't changed, then the process can be aborted since the source code is up to date.
Purpose
I think the ZeroQL is a good framework to use as typed client for our backend tests. We output the schema file from our backend and then our xunit test project compiles the ZeroQL client as part of pre build step. Since ZeroQL.CLI tool is now baked into our build pipeline, we want optimise the performance. The best approach is to skip source generation when the generated code is up to date with the existing schema.
Benchmarks
CLI
Added new option "Force" to skip checksum check and output generate source code (if this is somehow needed)