-
Notifications
You must be signed in to change notification settings - Fork 715
/
yaml-schema.json
121 lines (121 loc) · 4.58 KB
/
yaml-schema.json
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
{
"$schema": "http://json-schema.org/draft-07/schema",
"title": "Meta yaml",
"description": "Validate the meta yaml file for an nf-core subworkflow",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the subworkflow"
},
"description": {
"type": "string",
"description": "Description of the subworkflow"
},
"authors": {
"type": "array",
"description": "Authors of the subworkflow",
"items": {
"type": "string"
}
},
"maintainers": {
"type": "array",
"description": "Maintainers of the subworkflow",
"items": {
"type": "string"
}
},
"components": {
"type": "array",
"description": "Modules and subworkflows used in the subworkflow",
"items": {
"type": "string"
},
"minItems": 0
},
"keywords": {
"type": "array",
"description": "Keywords for the module",
"items": {
"type": "string"
},
"minItems": 3
},
"input": {
"type": "array",
"description": "Input channels for the subworkflow",
"items": {
"type": "object",
"patternProperties": {
".*": {
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "Type of the input channel"
},
"description": {
"type": "string",
"description": "Description of the input channel"
},
"pattern": {
"type": "string",
"description": "Pattern of the input channel, given in Java glob syntax"
},
"default": {
"type": ["string", "number", "boolean", "array", "object"],
"description": "Default value for the input channel"
},
"enum": {
"type": "array",
"description": "List of allowed values for the input channel",
"items": {
"type": ["string", "number", "boolean", "array", "object"]
},
"uniqueItems": true
}
},
"required": ["description"]
}
}
}
},
"output": {
"type": "array",
"description": "Output channels for the subworkflow",
"items": {
"type": "object",
"patternProperties": {
".*": {
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "Type of the output channel"
},
"description": {
"type": "string",
"description": "Description of the output channel"
},
"pattern": {
"type": "string",
"description": "Pattern of the input channel, given in Java glob syntax"
},
"enum": {
"type": "array",
"description": "List of allowed values for the output channel",
"items": {
"type": ["string", "number", "boolean", "array", "object"]
},
"uniqueItems": true
}
},
"required": ["description"]
}
}
}
}
},
"required": ["name", "description", "keywords", "authors", "output", "components"]
}