build.zig.zon 3.0KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. .{
  2. .name = "codecrafters-shell",
  3. // This is a [Semantic Version](https://semver.org/).
  4. // In a future version of Zig it will be used for package deduplication.
  5. .version = "0.0.0",
  6. // This field is optional.
  7. // This is currently advisory only; Zig does not yet do anything
  8. // with this value.
  9. //.minimum_zig_version = "0.11.0",
  10. // This field is optional.
  11. // Each dependency must either provide a `url` and `hash`, or a `path`.
  12. // `zig build --fetch` can be used to fetch all dependencies of a package, recursively.
  13. // Once all dependencies are fetched, `zig build` no longer requires
  14. // internet connectivity.
  15. .dependencies = .{
  16. // See `zig fetch --save <url>` for a command-line interface for adding dependencies.
  17. //.example = .{
  18. // // When updating this field to a new URL, be sure to delete the corresponding
  19. // // `hash`, otherwise you are communicating that you expect to find the old hash at
  20. // // the new URL.
  21. // .url = "https://example.com/foo.tar.gz",
  22. //
  23. // // This is computed from the file contents of the directory of files that is
  24. // // obtained after fetching `url` and applying the inclusion rules given by
  25. // // `paths`.
  26. // //
  27. // // This field is the source of truth; packages do not come from a `url`; they
  28. // // come from a `hash`. `url` is just one of many possible mirrors for how to
  29. // // obtain a package matching this `hash`.
  30. // //
  31. // // Uses the [multihash](https://multiformats.io/multihash/) format.
  32. // .hash = "...",
  33. //
  34. // // When this is provided, the package is found in a directory relative to the
  35. // // build root. In this case the package's hash is irrelevant and therefore not
  36. // // computed. This field and `url` are mutually exclusive.
  37. // .path = "foo",
  38. // // When this is set to `true`, a package is declared to be lazily
  39. // // fetched. This makes the dependency only get fetched if it is
  40. // // actually used.
  41. // .lazy = false,
  42. //},
  43. },
  44. // Specifies the set of files and directories that are included in this package.
  45. // Only files and directories listed here are included in the `hash` that
  46. // is computed for this package.
  47. // Paths are relative to the build root. Use the empty string (`""`) to refer to
  48. // the build root itself.
  49. // A directory listed here means that all files within, recursively, are included.
  50. .paths = .{
  51. // This makes *all* files, recursively, included in this package. It is generally
  52. // better to explicitly list the files and directories instead, to insure that
  53. // fetching from tarballs, file system paths, and version control all result
  54. // in the same contents hash.
  55. "",
  56. // For example...
  57. //"build.zig",
  58. //"build.zig.zon",
  59. //"src",
  60. //"LICENSE",
  61. //"README.md",
  62. },
  63. }