1
+ <?xml version =" 1.0" encoding =" UTF-8" ?>
2
+ <xs : schema xmlns : xs =" http://www.w3.org/2001/XMLSchema" elementFormDefault =" qualified" >
3
+ <!-- Root element -->
4
+ <xs : element name =" dload" >
5
+ <xs : annotation >
6
+ <xs : documentation >DLoad configuration for downloading and managing binary artifacts</xs : documentation >
7
+ </xs : annotation >
8
+ <xs : complexType >
9
+ <xs : sequence >
10
+ <!-- Actions container -->
11
+ <xs : element name =" actions" minOccurs =" 0" maxOccurs =" 1" >
12
+ <xs : annotation >
13
+ <xs : documentation >Container for download actions</xs : documentation >
14
+ </xs : annotation >
15
+ <xs : complexType >
16
+ <xs : sequence >
17
+ <xs : element name =" download" minOccurs =" 0" maxOccurs =" unbounded" >
18
+ <xs : annotation >
19
+ <xs : documentation >Defines a software package to download</xs : documentation >
20
+ </xs : annotation >
21
+ <xs : complexType >
22
+ <xs : attribute name =" software" type =" xs:string" use =" required" >
23
+ <xs : annotation >
24
+ <xs : documentation >Software identifier to download</xs : documentation >
25
+ </xs : annotation >
26
+ </xs : attribute >
27
+ <xs : attribute name =" version" type =" xs:string" >
28
+ <xs : annotation >
29
+ <xs : documentation >Version constraint (composer-style)</xs : documentation >
30
+ </xs : annotation >
31
+ </xs : attribute >
32
+ <xs : attribute name =" version-path" type =" xs:string" >
33
+ <xs : annotation >
34
+ <
xs : documentation >Path to extract version from (e.g.
[email protected] /name)</
xs : documentation >
35
+ </xs : annotation >
36
+ </xs : attribute >
37
+ <xs : attribute name =" extract-path" type =" xs:string" >
38
+ <xs : annotation >
39
+ <xs : documentation >Custom path where to unpack downloaded asset</xs : documentation >
40
+ </xs : annotation >
41
+ </xs : attribute >
42
+ </xs : complexType >
43
+ </xs : element >
44
+ </xs : sequence >
45
+ </xs : complexType >
46
+ </xs : element >
47
+
48
+ <!-- Registry container -->
49
+ <xs : element name =" registry" minOccurs =" 0" maxOccurs =" 1" >
50
+ <xs : annotation >
51
+ <xs : documentation >Custom software registry configuration</xs : documentation >
52
+ </xs : annotation >
53
+ <xs : complexType >
54
+ <xs : sequence >
55
+ <xs : element name =" software" minOccurs =" 0" maxOccurs =" unbounded" >
56
+ <xs : annotation >
57
+ <xs : documentation >Software configuration entity</xs : documentation >
58
+ </xs : annotation >
59
+ <xs : complexType >
60
+ <xs : sequence >
61
+ <xs : element name =" repository" minOccurs =" 0" maxOccurs =" unbounded" >
62
+ <xs : annotation >
63
+ <xs : documentation >Repository configuration</xs : documentation >
64
+ </xs : annotation >
65
+ <xs : complexType >
66
+ <xs : attribute name =" type" type =" xs:string" default =" github" >
67
+ <xs : annotation >
68
+ <xs : documentation >Repository type identifier</xs : documentation >
69
+ </xs : annotation >
70
+ </xs : attribute >
71
+ <xs : attribute name =" uri" type =" xs:string" use =" required" >
72
+ <xs : annotation >
73
+ <xs : documentation >Repository URI identifier</xs : documentation >
74
+ </xs : annotation >
75
+ </xs : attribute >
76
+ <xs : attribute name =" asset-pattern" type =" xs:string" default =" /^.*$/" >
77
+ <xs : annotation >
78
+ <xs : documentation >Regular expression pattern to match assets</xs : documentation >
79
+ </xs : annotation >
80
+ </xs : attribute >
81
+ </xs : complexType >
82
+ </xs : element >
83
+ <xs : element name =" binary" minOccurs =" 0" maxOccurs =" unbounded" >
84
+ <xs : annotation >
85
+ <xs : documentation >Binary configuration</xs : documentation >
86
+ </xs : annotation >
87
+ <xs : complexType >
88
+ <xs : attribute name =" name" type =" xs:string" use =" required" >
89
+ <xs : annotation >
90
+ <xs : documentation >Binary executable name</xs : documentation >
91
+ </xs : annotation >
92
+ </xs : attribute >
93
+ <xs : attribute name =" pattern" type =" xs:string" >
94
+ <xs : annotation >
95
+ <xs : documentation >Regular expression pattern to match binary file during extraction</xs : documentation >
96
+ </xs : annotation >
97
+ </xs : attribute >
98
+ <xs : attribute name =" version-command" type =" xs:string" >
99
+ <xs : annotation >
100
+ <xs : documentation >Command argument to check binary version (e.g. "--version")</xs : documentation >
101
+ </xs : annotation >
102
+ </xs : attribute >
103
+ </xs : complexType >
104
+ </xs : element >
105
+ <xs : element name =" file" minOccurs =" 0" maxOccurs =" unbounded" >
106
+ <xs : annotation >
107
+ <xs : documentation >File configuration</xs : documentation >
108
+ </xs : annotation >
109
+ <xs : complexType >
110
+ <xs : attribute name =" pattern" type =" xs:string" default =" /^.*$/" >
111
+ <xs : annotation >
112
+ <xs : documentation >Regular expression pattern to match files</xs : documentation >
113
+ </xs : annotation >
114
+ </xs : attribute >
115
+ <xs : attribute name =" rename" type =" xs:string" >
116
+ <xs : annotation >
117
+ <xs : documentation >Rename found file to this value with the same extension</xs : documentation >
118
+ </xs : annotation >
119
+ </xs : attribute >
120
+ <xs : attribute name =" extract-path" type =" xs:string" >
121
+ <xs : annotation >
122
+ <xs : documentation >Directory where to extract files</xs : documentation >
123
+ </xs : annotation >
124
+ </xs : attribute >
125
+ </xs : complexType >
126
+ </xs : element >
127
+ </xs : sequence >
128
+ <xs : attribute name =" name" type =" xs:string" use =" required" >
129
+ <xs : annotation >
130
+ <xs : documentation >Software package name</xs : documentation >
131
+ </xs : annotation >
132
+ </xs : attribute >
133
+ <xs : attribute name =" alias" type =" xs:string" >
134
+ <xs : annotation >
135
+ <xs : documentation >CLI command alias</xs : documentation >
136
+ </xs : annotation >
137
+ </xs : attribute >
138
+ <xs : attribute name =" homepage" type =" xs:string" >
139
+ <xs : annotation >
140
+ <xs : documentation >Official software homepage URL</xs : documentation >
141
+ </xs : annotation >
142
+ </xs : attribute >
143
+ <xs : attribute name =" description" type =" xs:string" >
144
+ <xs : annotation >
145
+ <xs : documentation >Short description of the software</xs : documentation >
146
+ </xs : annotation >
147
+ </xs : attribute >
148
+ </xs : complexType >
149
+ </xs : element >
150
+ </xs : sequence >
151
+ <xs : attribute name =" overwrite" type =" xs:boolean" default =" false" >
152
+ <xs : annotation >
153
+ <xs : documentation >Replace the built-in software collection with custom ones</xs : documentation >
154
+ </xs : annotation >
155
+ </xs : attribute >
156
+ </xs : complexType >
157
+ </xs : element >
158
+ </xs : sequence >
159
+ <xs : attribute name =" temp-dir" type =" xs:string" >
160
+ <xs : annotation >
161
+ <xs : documentation >Temporary directory for downloads</xs : documentation >
162
+ </xs : annotation >
163
+ </xs : attribute >
164
+ </xs : complexType >
165
+ </xs : element >
166
+ </xs : schema >
0 commit comments