//! Module root for the `licenses_files` anonymous import (test builds only). //! `@embedFile` paths resolve relative to this file, and a module cannot embed //! anything above its own root directory, so `build.zig` stages a directory //! holding a copy of `licenses/` alongside copies of `build.zig.zon` and //! `web/package-lock.json`, and roots the import at the copy of this file. //! That is why the two decls below name files that do not sit beside this one //! in the repository. //! //! Everything here is embedded at compile time: `src/licenses_drift_test.zig` //! reads no files and shells out to nothing. /// The reviewed inventory `zig build dist` turns into THIRD-PARTY-NOTICES. pub const inventory_zon = @embedFile("inventory.zon"); /// The head of the assembled THIRD-PARTY-NOTICES: the paragraph that states /// which artifacts the file covers. It is data rather than a string literal in /// `tools/dist_stage.zig` because the scope statement is part of the notice, /// and the notice is reviewed here. pub const preamble_txt = @embedFile("preamble.txt"); /// The recorded identity of the dependency sets the inventory must cover. pub const dependency_identity_txt = @embedFile("dependency-identity.txt"); /// Repository root `build.zig.zon`, the identity of the Zig dependency set. pub const build_zig_zon = @embedFile("build.zig.zon"); /// `web/package-lock.json`, the identity of the npm closure. pub const package_lock_json = @embedFile("package-lock.json"); /// `deploy/docker/Dockerfile`, the identity of the base image. The image is a /// released artifact and the only third-party file it carries that the binary /// does not — the CA bundle — comes out of that base, so a base bump is a /// licence-inventory event like any dependency bump. pub const dockerfile = @embedFile("Dockerfile"); pub const Text = struct { /// The name an inventory entry's `.file` field must use. name: []const u8, body: []const u8, }; /// Every licence text under `licenses/`. An entry here that no inventory entry /// names, or an inventory entry naming a file absent here, fails the guard. pub const texts: []const Text = &.{ .{ .name = "musl-copyright.txt", .body = @embedFile("musl-copyright.txt") }, .{ .name = "zig-mit.txt", .body = @embedFile("zig-mit.txt") }, .{ .name = "sqlite-public-domain.txt", .body = @embedFile("sqlite-public-domain.txt") }, .{ .name = "mbedtls-apache-2.0.txt", .body = @embedFile("mbedtls-apache-2.0.txt") }, .{ .name = "everest-apache-2.0.txt", .body = @embedFile("everest-apache-2.0.txt") }, .{ .name = "p256-m-apache-2.0.txt", .body = @embedFile("p256-m-apache-2.0.txt") }, .{ .name = "react-mit.txt", .body = @embedFile("react-mit.txt") }, .{ .name = "tanstack-mit.txt", .body = @embedFile("tanstack-mit.txt") }, .{ .name = "tanstack-store-mit.txt", .body = @embedFile("tanstack-store-mit.txt") }, .{ .name = "tailwindcss-mit.txt", .body = @embedFile("tailwindcss-mit.txt") }, .{ .name = "vite-mit.txt", .body = @embedFile("vite-mit.txt") }, .{ .name = "rolldown-mit.txt", .body = @embedFile("rolldown-mit.txt") }, .{ .name = "mozilla-ca-bundle-mpl-2.0.txt", .body = @embedFile("mozilla-ca-bundle-mpl-2.0.txt") }, };