Expand description
Managed tools: pinned, checksum-verified release archives unpacked under
~/.water/tools — no package manager required.
A ManagedTool names one upstream release artifact (URL, sha256, and the
binary’s path inside the archive). ManagedTool::install unpacks the
archive into ~/.water/tools/<name>/<version>/ and returns the directory
holding the binary; an already-unpacked install is reused without touching
the network. Builds put every installed tool’s bin directory on PATH
through managed_tools_path_env, so nothing depends on the user editing
PATH by hand.
Structs§
- Managed
Tool - A pinned release archive that unpacks under
~/.water/tools/<name>/<version>/.
Enums§
- Managed
Tool Error - Errors from managed-tool installs.
Constants§
- LLVM_
ARM64_ MSI_ SHA256 - Pinned sha256 of
LLVM_ARM64_MSI_URL, lowercase hex. - LLVM_
ARM64_ MSI_ URL - The LLVM installer MSI for Windows on ARM64, verified against the pinned
sha256 and run through
msiexec.
Functions§
- all
- Every managed tool the CLI can install.
- cmake
cmakefor a Windows host without a package manager, from the pinned Kitware release zip.- dxc
dxc(DirectX Shader Compiler) from the pinnedmicrosoft/DirectXShaderCompilerrelease.- fetch_
pinned - Download
url, verify it against the pinnedsha256, and write it todestinationatomically. - jdk
- A JDK (Temurin 21) for a Windows host without a package manager, from the pinned Adoptium release zip.
- managed_
tools_ path_ env - A
"PATH"env entry prepending every installed managed tool’s bin directory to the host’sPATH, for builds that resolve tools by name (e.g.shaderloominvokingdxc). - sccache
sccachefor a Windows host without a package manager, from the pinned Mozilla release zip. Upstream publishes no x86 build.