blob: 8de2fb5f2ccf96aebfc78505aa2f50012527bb9c (
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
108
109
110
111
112
113
114
115
116
|
$schema: http://json-schema.org/draft-04/schema#
id: http://git.baserock.org/cgi-bin/cgit.cgi/baserock/baserock/definitions.git/tree/schemas/chunk.json-schema
description: |
This is a JSON-Schema description of a 'chunk' .morph file, which is part of
the Baserock definitions YAML representation format.
This JSON-Schema file is valid for VERSION 7 of the Baserock definitions
YAML serialisation format.
The Baserock definitions format is the recommended way of representing
Baserock definitions on disk. The actual data model is described separately.
See https://wiki.baserock.org/definitions for more information.
This schema is represented as YAML, so that it can be edited more easily.
You may need to convert to JSON if using a JSON-Schema tool that expects
its input to be an actual string containing data serialised as JSON.
definitions:
# Corresponds to CommandSequence in Baserock data model.
command-sequence:
type: array
items: { type: string }
# Corresponds to DeviceNode in Baserock data model.
device-node:
type: object
required: [type, filename, gid, uid, major, minor, permissions]
properties:
type: { type: string }
filename: { type: string }
gid: { type: integer }
uid: { type: integer }
major: { type: integer }
minor: { type: integer }
permissions: { type: string }
# Defines one or more instances of ChunkArtifact from the Baserock data model.
split-rules:
type: array
items:
type: object
required: [artifact, include]
additionalProperties: false
properties:
artifact: {type: string}
include:
type: array
items:
type: string
format: regex
system-integration-commands:
type: object
patternProperties:
# The property name here should correspond to the name of the chunk's
# artifacts, probably the '-bins' artifact if you are using the normal
# splitting rules.
^.*$:
type: object
patternProperties:
^.*$:
$ref: "#/definitions/command-sequence"
# Corresponds to Chunk in Baserock data model.
type: object
additionalProperties: false
required: [ 'name', 'kind']
properties:
name: { type: string }
kind: { enum: [ "chunk" ] }
description: { type: string }
build-system: { type: string }
max-jobs: { type: integer }
products:
$ref: "#/definitions/split-rules"
pre-configure-commands:
$ref: "#/definitions/command-sequence"
configure-commands:
$ref: "#/definitions/command-sequence"
post-configure-commands:
$ref: "#/definitions/command-sequence"
pre-build-commands:
$ref: "#/definitions/command-sequence"
build-commands:
$ref: "#/definitions/command-sequence"
post-build-commands:
$ref: "#/definitions/command-sequence"
pre-install-commands:
$ref: "#/definitions/command-sequence"
install-commands:
$ref: "#/definitions/command-sequence"
post-install-commands:
$ref: "#/definitions/command-sequence"
pre-strip-commands:
$ref: "#/definitions/command-sequence"
strip-commands:
$ref: "#/definitions/command-sequence"
post-strip-commands:
$ref: "#/definitions/command-sequence"
system-integration:
$ref: "#/definitions/system-integration-commands"
devices:
type: array
items:
$ref: "#/definitions/device-node"
|