aboutsummaryrefslogtreecommitdiff
path: root/doc/manual/src/command-ref/meson.build
blob: ef6f9d2e054d2d3ec4eefe66a85c93fd1ec370da (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
xp_features_json = custom_target(
  command : [nix, '__dump-xp-features'],
  capture : true,
  output : 'xp-features.json',
)

experimental_features_shortlist_md = custom_target(
  command : nix_eval_for_docs + [
    '--expr',
    'import @INPUT0@ "experimental" "xp" (builtins.fromJSON (builtins.readFile @INPUT1@))',
  ],
  input : [
    '../../generate-features-shortlist.nix',
    xp_features_json,
  ],
  capture : true,
  output : 'experimental-features-shortlist.md',
  env : nix_env_for_docs,
)

dp_features_json = custom_target(
  command : [nix, '__dump-dp-features'],
  capture : true,
  output : 'dp-features.json',
)

deprecated_features_shortlist_md = custom_target(
  command : nix_eval_for_docs + [
    '--expr',
    'import @INPUT0@ "deprecated" "dp" (builtins.fromJSON (builtins.readFile @INPUT1@))',
  ],
  input : [
    '../../generate-features-shortlist.nix',
    dp_features_json,
  ],
  capture : true,
  output : 'deprecated-features-shortlist.md',
  env : nix_env_for_docs,
)

# Intermediate step for manpage generation.
# This splorks the output of generate-manpage.nix as JSON,
# which gets written as a directory tree below.
nix3_cli_files_json = custom_target(
  command : nix_eval_for_docs_common + [
    '--json',
    '--expr',
    'import @INPUT0@ true (builtins.readFile @INPUT1@)',
  ],
  input : [
    '../../generate-manpage.nix',
    nix3_cli_json,
  ],
  capture : true,
  output : 'new-cli.json',
  env : nix_env_for_docs,
)
nix3_cli_files = custom_target(
  command : [
    python,
    '@INPUT0@',
    '-i', '@INPUT1@',
    '-o', '@OUTPUT@',
  ],
  input : [
    '../../json-to-tree.py',
    nix3_cli_files_json,
  ],
  output : 'new-cli',
)

conf_file_md = custom_target(
  command : [
    nix_eval_for_docs,
    '--expr',
    '(import @INPUT0@).showSettings { inlineHTML = true; } (builtins.fromJSON (builtins.readFile @INPUT1@))',
  ],
  capture : true,
  input : [
    '../../utils.nix',
    conf_file_json,
    experimental_features_shortlist_md,
    deprecated_features_shortlist_md,
  ],
  output : 'conf-file.md',
  env : nix_env_for_docs,
)