cue
CUE is an open-source data validation language and inference engine with its roots in logic programming. Although the language is not a general-purpose programming language, it has many applications, such as data validation, data templating, configuration, querying, code generation and even scripting. The inference engine can be used to validate data in code or to include it as part of a code generation pipeline.
Homepage: https://cuelang.org/
Backend: pants.backend.experimental.cue
Config section: [cue]
Basic options
args
--cue-args="[<shell_str>, <shell_str>, ...]"PANTS_CUE_ARGS[cue]
args = [
<shell_str>,
<shell_str>,
...,
]
[]Arguments to pass directly to CUE, e.g. --cue-args='--all-errors'.
skip
--[no-]cue-skipPANTS_CUE_SKIP[cue]
skip = <bool>
FalseIf true, don't use CUE when running pants fmt and pants fix and pants lint.
Advanced options
known_versions
--cue-known-versions="['<str>', '<str>', ...]"PANTS_CUE_KNOWN_VERSIONS[cue]
known_versions = [
'<str>',
'<str>',
...,
]
[ "v0.4.3|macos_x86_64|1161254cf38b928b87a7ac1552dc2e12e6c5da298f9ce370d80e5518ddb6513d|6240316", "v0.4.3|macos_arm64 |3d84b85a7288f94301a4726dcf95b2d92c8ff796c4d45c4733fbdcc04ceaf21d|5996085", "v0.4.3|linux_x86_64|5e7ecb614b5926acfc36eb1258800391ab7c6e6e026fa7cacbfe92006bac895c|6037013", "v0.4.3|linux_arm64 |a8c3f4140d18c324cc69f5de4df0566e529e1636cff340095a42475799bf3fed|5548404" ]
Known versions to verify downloads against.
Each element is a pipe-separated string of version|platform|sha256|length or
version|platform|sha256|length|url_override, where:
versionis the version stringplatformis one of[linux_arm64,linux_x86_64,macos_arm64,macos_x86_64]sha256is the 64-character hex representation of the expected sha256 digest of the download file, as emitted byshasum -a 256lengthis the expected length of the download file in bytes, as emitted bywc -c- (Optional)
url_overrideis a specific url to use instead of the normally generated url for this version
E.g., 3.1.2|macos_x86_64|6d0f18cd84b918c7b3edd0203e75569e0c7caecb1367bbbe409b44e28514f5be|42813.
and 3.1.2|macos_arm64 |aca5c1da0192e2fd46b7b55ab290a92c5f07309e7b0ebf4e45ba95731ae98291|50926|https://example.mac.org/bin/v3.1.2/mac-aarch64-v3.1.2.tgz.
Values are space-stripped, so pipes can be indented for readability if necessary.
url_platform_mapping
--cue-url-platform-mapping="{'key1': val1, 'key2': val2, ...}"PANTS_CUE_URL_PLATFORM_MAPPING[cue.url_platform_mapping]
key1 = val1
key2 = val2
...
{
"linux_arm64": "linux_arm64",
"linux_x86_64": "linux_amd64",
"macos_arm64": "darwin_arm64",
"macos_x86_64": "darwin_amd64"
}A dictionary mapping platforms to strings to be used when generating the URL to download the tool.
In --url-template, anytime the {platform} string is used, Pants will determine the current platform, and substitute {platform} with the respective value from your dictionary.
For example, if you define {"macos_x86_64": "apple-darwin", "linux_x86_64": "unknown-linux"}, and run Pants on Linux with an intel architecture, then {platform} will be substituted in the --url-template option with unknown-linux.
url_template
--cue-url-template=<str>PANTS_CUE_URL_TEMPLATE[cue]
url_template = <str>
https://github.com/cue-lang/cue/releases/download/{version}/cue_{version}_{platform}.tar.gzURL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a file:$abspath URL (e.g. file:/this/is/absolute, possibly by templating the buildroot in a config file).
Use {version} to have the value from --version substituted, and {platform} to have a value from --url-platform-mapping substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.
use_unsupported_version
--cue-use-unsupported-version=<UnsupportedVersionUsage>PANTS_CUE_USE_UNSUPPORTED_VERSION[cue]
use_unsupported_version = <UnsupportedVersionUsage>
error, warningdefault:
errorWhat action to take in case the requested version of CUE is not supported.
Supported CUE versions: unspecified
version
--cue-version=<str>PANTS_CUE_VERSION[cue]
version = <str>
v0.4.3Use this version of CUE.
Deprecated options
None
Related subsystems
None