|
16 | 16 | descriptionStartsOpen ? null, |
17 | 17 | descriptionIncluded ? null, |
18 | 18 | moduleStartsOpen ? null, |
| 19 | + warningsAreErrors ? true, |
19 | 20 | }: |
20 | 21 | name: module: |
21 | 22 | (if title != null then "# ${title}\n\n" else "# `${prefix}${name}`\n\n") |
|
29 | 30 | } |
30 | 31 | ] |
31 | 32 | // { |
32 | | - inherit includeCore; |
| 33 | + inherit includeCore warningsAreErrors; |
33 | 34 | ${if descriptionStartsOpen != null then "descriptionStartsOpen" else null} = descriptionStartsOpen; |
34 | 35 | ${if descriptionIncluded != null then "descriptionIncluded" else null} = descriptionIncluded; |
35 | 36 | ${if moduleStartsOpen != null then "moduleStartsOpen" else null} = moduleStartsOpen; |
|
42 | 43 | wlib.wrapperModules.mdbook |
43 | 44 | ./redirects.nix |
44 | 45 | ]; |
45 | | - mainBook = "nix-wrapper-modules"; |
46 | | - outputs = [ |
| 46 | + config.mainBook = "nix-wrapper-modules"; |
| 47 | + config.outputs = [ |
47 | 48 | "out" |
48 | 49 | "generated" |
49 | 50 | ]; |
50 | | - drv.unsafeDiscardReferences.generated = true; |
51 | | - drv.preBuild = '' |
| 51 | + options.warningsAreErrors = lib.mkOption { |
| 52 | + type = lib.types.bool; |
| 53 | + default = true; |
| 54 | + description = "Whether warnings in the docgen should be treated as errors (i.e. missing descriptions)"; |
| 55 | + }; |
| 56 | + config.drv.unsafeDiscardReferences.generated = true; |
| 57 | + config.drv.preBuild = '' |
52 | 58 | mkdir -p "$generated/wrapper_docs" |
53 | 59 | jq -r '.wrapper_docs | to_entries[] | @base64' "$NIX_ATTRS_JSON_FILE" | while read -r entry; do |
54 | 60 | # decode base64 to get JSON safely |
|
61 | 67 | echo "$(echo "$decoded" | jq -r '.value')" > "$generated/module_docs/$(echo "$decoded" | jq -r '.key').md" |
62 | 68 | done |
63 | 69 | ''; |
64 | | - drv.module_docs = builtins.mapAttrs (buildModuleDocs { |
| 70 | + config.drv.module_docs = builtins.mapAttrs (buildModuleDocs { |
65 | 71 | prefix = "wlib.modules."; |
66 | 72 | package = pkgs.hello; |
67 | 73 | includeCore = false; |
| 74 | + inherit (config) warningsAreErrors; |
68 | 75 | moduleStartsOpen = _: _: true; |
69 | 76 | descriptionStartsOpen = |
70 | 77 | _: _: _: |
|
73 | 80 | _: _: _: |
74 | 81 | true; |
75 | 82 | }) wlib.modules; |
76 | | - drv.wrapper_docs = builtins.mapAttrs (buildModuleDocs { |
| 83 | + config.drv.wrapper_docs = builtins.mapAttrs (buildModuleDocs { |
77 | 84 | prefix = "wlib.wrapperModules."; |
| 85 | + inherit (config) warningsAreErrors; |
78 | 86 | }) wlib.wrapperModules; |
79 | | - drv.core_docs = buildModuleDocs { |
| 87 | + config.drv.core_docs = buildModuleDocs { |
80 | 88 | package = pkgs.hello; |
| 89 | + inherit (config) warningsAreErrors; |
81 | 90 | title = "Core (builtin) Options set"; |
82 | 91 | } "core" { }; |
83 | | - books.nix-wrapper-modules = { |
| 92 | + config.books.nix-wrapper-modules = { |
84 | 93 | book = { |
85 | 94 | book = { |
86 | 95 | src = "src"; |
|
0 commit comments