Add support for Jsonnet TLAs and clean up cfg tests. #1
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 requires Jsonnet 0.14.0 which is not yet available in UPS-land.
Jsonnet C++ library has support for a feature called "Top-Level
Arguments" (tla). This PR exposes this support through WCT.
TLA requires a Jsonnet file that results in just a single function. Eg:
$ cat a.jsonnet
Ignoring TLA for a moment, we can import this file into some other
Jsonnet file as normal so that we might call this function with
hard-coded "name" and "port" values.
Or, we can provide the "TLAs" in three different ways: as string or code
values directly on the command line or as code values in a file:
Example with TLA as a string and as code:
$ jsonnet --tla-str name="My Name" --tla-code port=9999 a.jsonnet
Example with TLA as code on CLI and from yet another file that gives
multiple port numbers as a JSON array:
$ cat ports.json
$ jsonnet --tla-code name='"My Name"' --tla-code-file port=ports.json a.jsonnet