xref: /aosp_15_r20/external/pigweed/docs/module_metadata_schema.json (revision 61c4878ac05f98d0ceed94b57d316916de578985)
1*61c4878aSAndroid Build Coastguard Worker{
2*61c4878aSAndroid Build Coastguard Worker  "description": "Schema for //docs/module_metadata.json.",
3*61c4878aSAndroid Build Coastguard Worker  "type": "object",
4*61c4878aSAndroid Build Coastguard Worker  "patternProperties": {
5*61c4878aSAndroid Build Coastguard Worker    "^pw_.*": {
6*61c4878aSAndroid Build Coastguard Worker      "description": "The metadata for each module must match this schema.",
7*61c4878aSAndroid Build Coastguard Worker      "type": "object",
8*61c4878aSAndroid Build Coastguard Worker      "properties": {
9*61c4878aSAndroid Build Coastguard Worker        "languages": {
10*61c4878aSAndroid Build Coastguard Worker          "description": "Supported languages, build systems, etc. TODO: https://pwbug.dev/345534064 - Refactor this.",
11*61c4878aSAndroid Build Coastguard Worker          "type": "array",
12*61c4878aSAndroid Build Coastguard Worker          "items": {
13*61c4878aSAndroid Build Coastguard Worker            "type": "string",
14*61c4878aSAndroid Build Coastguard Worker            "enum": [
15*61c4878aSAndroid Build Coastguard Worker              "Bazel",
16*61c4878aSAndroid Build Coastguard Worker              "C",
17*61c4878aSAndroid Build Coastguard Worker              "C11",
18*61c4878aSAndroid Build Coastguard Worker              "C++",
19*61c4878aSAndroid Build Coastguard Worker              "C++17",
20*61c4878aSAndroid Build Coastguard Worker              "C++20",
21*61c4878aSAndroid Build Coastguard Worker              "CLI",
22*61c4878aSAndroid Build Coastguard Worker              "CMake",
23*61c4878aSAndroid Build Coastguard Worker              "GN",
24*61c4878aSAndroid Build Coastguard Worker              "Go",
25*61c4878aSAndroid Build Coastguard Worker              "Java",
26*61c4878aSAndroid Build Coastguard Worker              "JavaScript",
27*61c4878aSAndroid Build Coastguard Worker              "Python",
28*61c4878aSAndroid Build Coastguard Worker              "Rust",
29*61c4878aSAndroid Build Coastguard Worker              "Starlark",
30*61c4878aSAndroid Build Coastguard Worker              "TypeScript",
31*61c4878aSAndroid Build Coastguard Worker              "VS Code"
32*61c4878aSAndroid Build Coastguard Worker            ]
33*61c4878aSAndroid Build Coastguard Worker          }
34*61c4878aSAndroid Build Coastguard Worker        },
35*61c4878aSAndroid Build Coastguard Worker        "size": {
36*61c4878aSAndroid Build Coastguard Worker          "description": "A summary of the code size impact of the module.",
37*61c4878aSAndroid Build Coastguard Worker          "type": "string"
38*61c4878aSAndroid Build Coastguard Worker        },
39*61c4878aSAndroid Build Coastguard Worker        "status": {
40*61c4878aSAndroid Build Coastguard Worker          "description": "The status of the module.",
41*61c4878aSAndroid Build Coastguard Worker          "type": "string",
42*61c4878aSAndroid Build Coastguard Worker          "enum": [
43*61c4878aSAndroid Build Coastguard Worker            "stable",
44*61c4878aSAndroid Build Coastguard Worker            "unstable",
45*61c4878aSAndroid Build Coastguard Worker            "experimental",
46*61c4878aSAndroid Build Coastguard Worker            "deprecated"
47*61c4878aSAndroid Build Coastguard Worker          ]
48*61c4878aSAndroid Build Coastguard Worker        },
49*61c4878aSAndroid Build Coastguard Worker        "tagline": {
50*61c4878aSAndroid Build Coastguard Worker          "description": "A concise summary of the module's value proposition.",
51*61c4878aSAndroid Build Coastguard Worker          "type": "string"
52*61c4878aSAndroid Build Coastguard Worker        }
53*61c4878aSAndroid Build Coastguard Worker      },
54*61c4878aSAndroid Build Coastguard Worker      "required": [
55*61c4878aSAndroid Build Coastguard Worker        "status"
56*61c4878aSAndroid Build Coastguard Worker      ],
57*61c4878aSAndroid Build Coastguard Worker      "additionalProperties": false
58*61c4878aSAndroid Build Coastguard Worker    }
59*61c4878aSAndroid Build Coastguard Worker  },
60*61c4878aSAndroid Build Coastguard Worker  "additionalProperties": false
61*61c4878aSAndroid Build Coastguard Worker}
62