-
Notifications
You must be signed in to change notification settings - Fork 298
/
lilac-yaml-schema.yaml
137 lines (137 loc) · 4.4 KB
/
lilac-yaml-schema.yaml
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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
$schema: http://json-schema.org/draft-07/schema#
$id: http://example.com/product.schema.json
title: lilac.yaml
description: Descriptive configuration data for lilac packaging
type: object
properties:
build_prefix:
description: The prefix of build command to be used. E.g. extra-x86_64, multilib or archlinuxcn-x86_64.
type: string
default: "extra-$(uname -m)"
enum:
- extra-x86_64
- archlinuxcn-x86_64
- multilib
- multilib-archlinuxcn
- extra-aarch64
pre_build:
description: Name of function to be used as the pre_build function.
type: string
post_build:
description: Name of function to be used as the post_build function.
type: string
post_build_always:
description: Name of function to be used as the post_build_always function.
type: string
pre_build_script:
description: Body of the pre_build function. lilac2.api functions are available.
type: string
post_build_script:
description: Body of the post_build function. lilac2.api functions are available.
type: string
post_build_always_script:
description: Body of the post_build_always function. lilac2.api functions are available.
type: string
time_limit_hours:
description: Time limit in hours. The build will be aborted if it doesn't finish in time. Default is one hour.
type: number
repo_depends:
description: Packages in the repo that are direct dependencies of the current package.
type: array
items:
anyOf:
- type: string
description: Package (directory) name
- type: object
description: Package base (directory) as key and package name as value
minProperties: 1
maxProperties: 1
additionalProperties:
type: string
repo_makedepends:
description: Packages in the repo that are in makedepends or checkdepends of the current package.
type: array
items:
anyOf:
- type: string
description: Package (directory) name
- type: object
description: Package base (directory) as key and package name as value
minProperties: 1
maxProperties: 1
additionalProperties:
type: string
update_on:
description: Configure how nvchecker should check for updates / rebuilds? The first should check for updates and others for rebuilds.
type: array
items:
anyOf:
- type: object
description: nvchecker configuration section
properties:
source:
type: string
description: nvchecker source name
required:
- source
- type: object
description: use an alias for nvchecker configuration section
properties:
alias:
type: string
description: alias name
required:
- alias
minItems: 1
update_on_build:
description: Build this package if the configured packages are built in the same batch. Note that the packages should also be added to "repo_depends".
type: array
items:
type: object
description: on_build configuration
properties:
pkgbase:
type: string
description: pkgbase to build on
from_pattern:
type: string
description: a regex to transform pkgbase's version
to_pattern:
type: string
description: a replacement string to transform pkgbase's version to
required:
- pkgbase
minItems: 0
maintainers:
description: List of maintainers for receiving email notifications
type: array
items:
anyOf:
- type: object
description: GitHub username with a public email address
properties:
github:
type: string
required:
- github
- type: object
description: GitHub username and an email address in the form "Name <user@host>". The GitHub public email does not matter.
properties:
github:
type: string
email:
type: string
required:
- github
- email
minItems: 0
staging:
description: Whether to stage the package in a "staging" subdirectory
type: boolean
default: false
managed:
description: Whether the package should be built by lilac or not
type: boolean
default: true
required:
- maintainers