summaryrefslogtreecommitdiff
path: root/upstream-layers/bitbake/setup-schema/layers.schema.json
blob: 3ed40d080f353080f35a272a127ef841243fc0a6 (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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
{
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "description": "A schema for a manifest of layers to setup",
    "title": "OpenEmbedded Layer Setup Schema",
    "examples" : [
        {
            "sources": {
                "bitbake": {
                    "git-remote": {
                        "uri": "https://git.openembedded.org/bitbake",
                        "rev": "master"
                    },
                    "path": "bitbake"
                }
            },
            "version": "1.0"
        }
    ],
    "type": "object",
    "additionalProperties": false,
    "required": [
        "version"
    ],
    "properties": {
        "version": {
            "description": "The version of this document; currently '1.0'",
            "enum": ["1.0"]
        },
        "sources": {
            "description": "The dict of layer sources",
            "type": "object",
            "patternProperties": { ".*" : {
                "type": "object",
                "description": "The upstream source from which a set of layers may be fetched",
                "additionalProperties": false,
                "properties": {
                    "path": {
                        "description": "The path where this layer source will be placed when fetching",
                        "type": "string"
                    },
                    "contains_this_file": {
                        "description": "Whether the directory with the layer source also contains this json description. Tools may want to skip the checkout of the source then",
                        "type": "boolean"
                    },
                    "git-remote": {
                        "description": "A remote git source from which to fetch",
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                            "rev"
                        ],
                        "properties": {
                            "branch": {
                                "description": "The git branch to fetch (optional)",
                                "type": "string"
                            },
                            "rev": {
                                "description": "The git revision to checkout",
                                "type": "string"
                            },
                            "describe": {
                                "description": "The output of 'git describe' (human readable description of the revision using tags in revision history)",
                                "type": "string"
                            },
                            "uri": {
                                "description": "Specifies the git URI, can be used instead of the more elaborate 'remotes' property when there is only a single URI",
                                "type": "string"
                            },
                            "remotes": {
                                "description": "The dict of git remotes to add to this repository",
                                "type": "object",
                                "patternProperties": { ".*" : {
                                    "description": "A git remote",
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                        "uri"
                                    ],
                                    "properties": {
                                        "uri": {
                                            "description": "The URI for the remote, using git URL syntax",
                                            "type": "string"
                                        }
                                    }
                                }}
                            }
                        }
                    },
                    "local": {
                        "description": "A local directory that should be made available for builds via symlinking",
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                            "path"
                        ],
                        "properties": {
                            "path": {
                                "description": "The path to the directory",
                                "type": "string"
                            }
                        }
                    }
                }
            }
        }}
    }
}