Assets
The source code and URLs needed by your build are called assets.
The source code are workspace assets, while URLs are downloaded assets.
Workspace assets
Section titled “Workspace assets”These are files and directories that live in the package directory (the directory
with a dk.u).
They are declared in dk.u with a % unified.asset directive that names
either a file= or a dir= path:
## Apparatus
### CommonsLang_DotNet.Apparatus@1.0.0
Here % unified.asset { name="NuGetConfig", file="assets/nuget/NuGet.Config" } 'asset' '321' 'sha256:b7b2fedda9c847bdee1e5d4035460c895cda1db56c28629940bfb4d200b6bb90'
% unified.asset { name="NuGetPackages", dir="assets/nuget/packages" } 'asset' '226' { 'sha256:e21a238ce8fede4c01faa609588c44207a330515ce78a973e79c3443b1695ace' }As shown above, the unified.asset must be in a section with a module identifier
(ex. CommonsLang_DotNet.Apparatus@1.0.0).
The output blocks (the lines that start with 'asset' and end with sha256
checksums) are not meant to be hand-maintained. There will be a command like
dk0 update --no-imports for the dk0 Reference Implementation that will
recalculate the checksums on your behalf.
Downloaded assets
Section titled “Downloaded assets”These are third-party sources. They are declared in a *.values.jsonc
file (traditionally located at etc/dk/v/Bundle.values.jsonc).
The SPECIFICATION documents what an origin is:
{ "origin": "gnu-awk", "path": "gawk-5.3.1.tar.gz", "size": 6264553, "sha256": "fa41b3a85413af87fb5e3a7d9c8fa8d4a20728c67651185bb49c38a7f9382b1e", "mirrors": ["https://ftp.gnu.org/gnu/gawk", "https://mirrors.kernel.org/gnu/gawk"]}A downloaded asset's source URL is mirror "/" path. In the example above
that would be https://ftp.gnu.org/gnu/gawk/gawk-5.3.1.tar.gz for the
first mirror.